私はテキストの文字列を持っています:
$string = "This is a comment :) :D";
および値を持つキーの配列:
$smileys = Array(':)' => 'smile.gif', ':D' => 'happy.gif');
文字列内の配列キーの出現を関連する値に置き換えたいので、出力文字列は次のようになります。
$string = "This is a comment smile.gif happy.gif";
これどうやってするの?以下のようにループしてみましたが、うまくいきませんか?
foreach($smileys as $smiley){
$string = preg_replace("~\b$smileys\b~", $smileys[$smiley], $string);
}
編集
また、配列の間にいくつかの html を追加して、次のように置き換えたいと考えています。
:D
になる
<img src="/happy.gif" />
しかし、同じ html を使用する場合、すべての配列値に同じ html を含める必要がありますstrtr
か?