重複の可能性:
絵文字のリストを画像に置き換えます
私はユーザーに投稿に笑顔を与える可能性を与えたいウェブサイトを開発しています。私の(ちょうど機能的な)アイデアは、次のように配列を使用することです。
$emoticons = array(
array("17.gif",":)"),
array("6.jpg",":P"),
.....
array("9.jpg",":'("),
array("5.gif","X)")
);
[0]に画像、[1]に絵文字が表示されます。そして、各$ postで:
foreach($emoticons as $emoticon){
$quoted_emoticon = preg_quote($emoticon[1],"#");
$match = '#(?!<\w)(' . $quoted_emoticon .')(?!\w)#';
$post = preg_replace($match,'<img src="images/emoticons/'.$emoticon[0].'">',$post);
}
これはうまく機能していますが、私の問題は'#(?!<\w)('
、前の文字が「開始」( )または「空白」で、後続の文字が「終了」( )または「空白」')(?!\w)#'
の場合にのみ絵文字を適用したいためです。これを行うための正しい正規表現は何ですか?^
$