- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP 文字列のこの抜出に最適な関数とは)
PHP文字列の抜出に最適な関数とは
このQ&Aのポイント
- PHPの文字列に関数が多く、どれが最適なのか迷っています。
- 特定の文字列を抜き出すために、連想配列からカンマで区切った文字列に変換したいです。
- 現在考えている方法以外に、効果的な関数や手法があれば教えていただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#244856
回答No.2
こちらに回答を追加しました。 http://okwave.jp/qa/q8365784.html
その他の回答 (1)
- agunuz
- ベストアンサー率65% (288/438)
回答No.1
削除したい文字を配列で保持してstr_replaceで区切り文字に置換してしまえば、あとは分割するだけのように思えます。 <?php $str = '【店舗情報】<br> ■店舗名『保険代理店A』東京中央店<br> ■取扱募集代理店株式会社ほけんプラプラ<br> ■所在地東京都中央区2-2 田中ビル5F<br> ■電 話0120-00-0200<br> ■開店日2011年3月1日(火)<br> ■営業時間10:00~18:00<br> ■対応コース来店<br>'; $rep = array('【店舗情報】', '■店舗名', '『', '』', '■取扱募集代理店', '■所在地', '■電 話', '■開店日', '■営業時間', '■対応コース', '<br>', "\r", "\n"); $arr = array(); $str = str_replace($rep, "\t", $str); foreach (explode("\t", $str) as $val) { if ($val !== '') $arr[] = $val; } print '<pre>'; print_r($arr); print '</pre>'; スクリプトからデータベースに入れるならCSVなどにせず配列のまま扱う方が楽ですし、CSVとしてファイルに書き出すなら(配列を)fputcsvで書き出すべきです。「正しいCSV」を生成するのはけっこう面倒なので。
質問者
お礼
ありがとうございます、参考になりました
お礼
いつもいつもありがとうございます。解決しました。 他の質問でもTo_aru_Userさんの適切な答えに救われています。 もちろんベストアンサーです!