preg_replace for emoticons(php)

时间:2012-08-28 15:40:47

标签: php preg-replace

REVISED FROM OLD QUESTION- NOW USING DIFFERENT WAY FORWARD

我正在构建一个聊天框,并希望使用表情符号。因此,当一个人发送“:)”它被替换为和它的图像时,遗憾的是我的代码不会发生这种情况。我已经做了很多实验,我已经知道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' />

1 个答案:

答案 0 :(得分:1)

这不是你的正则表达式的问题,而是你如何显示数据的问题。在某些时候,您使用htmlspecialchars之类的东西来阻止聊天者将HTML注入您的聊天窗口。不幸的是,这也导致笑脸被转义。

替换表情符号的代码应该在转义原始文本后