こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

正規表現初心者です。

「晴れ」 → 「<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("天気文字列");



で良いのでしょうか??
「晴」だけの場合でも、全ての処理を通してしまうのですが、それでいいのか疑問なので質問させていただきました。

投稿日時 - 2007-11-30 18:37:14

QNo.3559984

暇なときに回答ください

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

投稿日時 - 2007-12-02 03:25:52

ANo.1

質問から見るに晴れの場合は
$b = ereg_replace("晴","<img src=hare.gif>",$b);
ではなく
$b = ereg_replace("晴れ","<img src=hare.gif>",$b);
と思います。

日本語でやるときはマルチバイト関数(mb_ereg_replaceとか)を使ったほうが良いでしょう。

投稿日時 - 2007-12-01 10:24:10

あなたにオススメの質問