我的聊天脚本需要一些帮助,现在不允许使用html标签。
我需要它以允许<b>
<u>
和<i>
标记,以便用户可以编辑他们的文本。
我的系统将网址转换为链接,因此某些html有一些基本系统,但我需要那些文本编辑系统。 以下是要播放的文件,它们是我自己的域中的文本文档:http://shadowkiro.net/help_needed_stackowerflow
我一直在尝试从这里和那里搜索答案,找到有关strip_tags和字符串htmlspecialchars的内容。它们看起来像我需要使我的html标签工作以及我需要放在chat_room.js文件中的东西,但我完全不知道如何使它们作为代码与我的chat_room.tpl网站合作所有的聊天消息被发送到聊天窗口。 在chat_room.tpl中,这个聊天脚本也有粗体,下划线和斜体脚本,它们将粗体,斜体或下划线整个文本而不是它的一部分。我需要一个粗体,斜体或仅加下划线的选项。
以下是我的聊天内容的小版画屏幕: http://i1110.photobucket.com/albums/h448/shadowkiro/chat_window.png
帮帮我?
我对此感到厌烦,抱歉我的英语不好,这不是我的母语。
我在chat_room.js中尝试了这个但是没有用。
// B I U codes here
if (typeof(converted_parts[i])=='undefined' && 0==msg_parts[i].indexOf('<b>') && msg_parts[i]) {
msg_parts[i]='<b>'+htmlspecialchars(msg_parts[i])+'</b>';
}
if (typeof(converted_parts[i])=='undefined' && 0==msg_parts[i].indexOf('<i>') && msg_parts[i]) {
msg_parts[i]='<i>'+htmlspecialchars(msg_parts[i])+'</i>';
}
if (typeof(converted_parts[i])=='undefined' && 0==msg_parts[i].indexOf('<u>') && msg_parts[i]) {
msg_parts[i]='<u>'+htmlspecialchars(msg_parts[i])+'</u>';
}
答案 0 :(得分:2)
使用HTML Purifier,它将允许您创建HTML标记的白名单
答案 1 :(得分:0)
首先执行htmlspecialchars()
然后用
<?php
$string=htmlspecialchars($string);
$string = 'any text <i>';
$patterns = array();
$patterns[0] = "/<i>/"; // for<i>
$patterns[1] = "/<b>/"; // for<b>
$patterns[2] = "/<u>/"; // for<u>
$replacements = array();
$replacements[0] = '<i>';
$replacements[1] = '</b>';
$replacements[2] = '</u>';
echo preg_replace($patterns, $replacements, $string);
?>