我有一个聊天框,想用图标替换':D'之类的东西。
$chatText = str_replace(":D","<img src='images/icons/smileys/smile-big.png' width='20' height='20' alt='Big Smile' />",$chatText);
以上是我正在使用的代码。在聊天中,它不是用情感替换文本,而是用html代码替换“:D”:
<img src='images/icons/smileys/smile-big.png' width='20' height='20' alt='Big Smile' />
我已经做了一些改变(我研究过),例如:
$chatText = str_replace(":D", "< img src=\"/images/icons/smileys/smile-big.png\" width=\"20\" height=\"20\" alt=\"Big Smile\" />",$chatText);
那里我没有运气。我的问题是如何让这个工作,所以用户能够有情绪。在我的代码的最顶部,我也有$chatText = htmlspecialchars($chatText, ENT_QUOTES);
答案 0 :(得分:0)
我发现了一些可能出现的问题 - 而不是100%从您的代码中清除:
如果您只是为textarea设置文本,那么它不支持嵌套HTML,并且您无法以这种方式执行表情符号。像gmail和facebook这样的东西,它们支持这些,基本上重新实现了内容的渲染。
要正确设置文本,您希望使用某个特定innerHTML
元素的div
属性来正确设置HTML。
在JQuery中我可能会写:
$('chat_text').html($('chat_text').html() + fixed_up_smilie_text);
htmlspecialchars
如果您在将文本放入HTML之前使用htmlspecialchars
转义文本,那么您将看到上面看到的内容。修复很简单:不要^ _ ^。