-2

古い質問から改訂 - 現在は別の方法を使用しています

チャットボックスを構築していて、絵文字を使用したいと考えています。したがって、「 :) 」を送信すると、そのイメージに置き換えられますが、残念ながら私のコードではこれは起こりません。私もかなりの実験をstr_replace行い、プロジェクトのガチョウの卵を達成できることを学び、使用することに決めましたpreg_replace

<?php

$message = $chatText;

$emoticons = array(
"/\:\)/");


$replacements = array(
"<img src='images/icons/smileys/smile.png' width='20' height='20' alt='Smile' />");


$chatText = preg_replace($emoticons,$replacements,$message);


?>

「:)」をスマイリーフェイスに置き換える代わりに、テキストを挿入するだけです<img src='images/icons/smileys/smile.png' width='20' height='20' alt='Smile' />

4

1 に答える 1

1

これは正規表現の問題ではなく、データの表示方法の問題です。ある時点でhtmlspecialchars、おしゃべりがチャットウィンドウにHTMLを挿入するのを防ぐようなものを使用しています。残念ながら、これによりスマイリーも逃げてしまいます。

smileysを置き換えるためのコードは、元のテキストをエスケープした後にどこかに来るはずです。

于 2012-08-28T15:43:02.917 に答える