• 締切済み

正規表現で、文字をタグに

正規表現初心者です。 「晴れ」 → 「<img src=hare.gif>」に 「雨」 → 「<img src=ame.gif>」といった感じで 文字を画像タグに変換するシステムを考えているのですが 「晴れのち雨」を→「<img src=hare.gif><img src=nochi.gif><img src=ame.gif>」に 「雨時々曇り」を→「<img src=ame.gif><img src=tokidoki.gif><img src=kumori>」 にする場合ですが。 function tenki($a){  $b = $a;  $b = ereg_replace("晴","<img src=hare.gif>",$b);  $b = ereg_replace("雨","<img src=ame.gif>",$b);  $b = ereg_replace("曇り","<img src=kumori.gif>",$b);  $b = ereg_replace("雪","<img src=yuki.gif>",$b);  $b = ereg_replace("時々","<img src=tokidoki.gif>",$b);  $b = ereg_replace("のち","<img src=nochi.gif>",$b);  echo $b; } tenki("天気文字列"); で良いのでしょうか?? 「晴」だけの場合でも、全ての処理を通してしまうのですが、それでいいのか疑問なので質問させていただきました。

みんなの回答

noname#79209
noname#79209
回答No.2

> 「晴」だけの場合でも、全ての処理を通してしまうのですが、 内容によっては、実行する順序が大事なときもあります。

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

質問から見るに晴れの場合は $b = ereg_replace("晴","<img src=hare.gif>",$b); ではなく $b = ereg_replace("晴れ","<img src=hare.gif>",$b); と思います。 日本語でやるときはマルチバイト関数(mb_ereg_replaceとか)を使ったほうが良いでしょう。