- 締切済み
正規表現で、文字をタグに
正規表現初心者です。 「晴れ」 → 「<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("天気文字列"); で良いのでしょうか?? 「晴」だけの場合でも、全ての処理を通してしまうのですが、それでいいのか疑問なので質問させていただきました。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
> 「晴」だけの場合でも、全ての処理を通してしまうのですが、 内容によっては、実行する順序が大事なときもあります。
- moon_night
- ベストアンサー率32% (598/1831)
質問から見るに晴れの場合は $b = ereg_replace("晴","<img src=hare.gif>",$b); ではなく $b = ereg_replace("晴れ","<img src=hare.gif>",$b); と思います。 日本語でやるときはマルチバイト関数(mb_ereg_replaceとか)を使ったほうが良いでしょう。