• 締切済み

連想配列からpreg_replaceで効率よく

下記のような処理って結構、効率悪い書き方かなと思っていますが、連想配列としてstr_replaceするにはどのようにすればよいのでしょうか? また、同じような関数で strtr > str_replace > preg_replace の順で処理が早いようなサイトを見ましたが、皆さんはどれを使っていますか?お勧めな方法やアドバイスを下さい。 $moji01 = "<リンゴ>"; $moji02 = "<バナナ>"; $moji03 = "<イチゴ>"; $moji04 = "<メロン>"; $moji05 = "<スイカ>"; 一部処理は省略してます。 $html = file_get_contents($temp); $html = str_replace( "<りんご>", $moji01, $html); $html = str_replace( "<ばなな>", $moji02, $html); $html = str_replace( "<いちご>", $moji03, $html); $html = str_replace( "<めろん>", $moji04, $html); $html = str_replace( "<すいか>", $moji05, $html); echo "$html";

みんなの回答

  • masa6272
  • ベストアンサー率66% (93/140)
回答No.1

パターンマッチがいらないのでしたら、正規表現は使うことないですね。str_replaceを使えばいいでしょう。 で、str_replaceですが、検索文字列と、置換文字列には配列を使えます。 $old = array('<リンゴ>', '<バナナ>', '<イチゴ>', '<メロン>', '<スイカ>'); $new = array('<りんご>', '<ばなな>', '<いちご>', '<めろん>', '<すいか>'); $html = str_replace($old, $new, $html); の方が、すっきりすると思います。

すると、全ての回答が全文表示されます。

関連するQ&A