0

我需要一些关于我的聊天脚本的帮助,该脚本现在不允许使用 html 标签。

我需要它来允许<b> <u><i>标记,以便用户可以编辑他们的文本。

我的系统将 url 转换为链接,因此某些 html 有某种基本系统,但我需要那些文本编辑系统。以下是可以使用的文件,它们是我自己域中的文本文档:http: //shadowkiro.net/help_needed_stackowerflow

我一直在尝试从这里和那里搜索答案,找到一些关于 strip_tags 和 string 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>';

}

4

2 回答 2

2

使用HTML Purifier,它将允许您创建 HTML 标签的白名单

于 2013-04-01T18:07:09.987 回答
0

首先做htmlspecialchars()然后替换输出的代码

<?php
$string=htmlspecialchars($string);

$string = 'any text <i>';
$patterns = array();
$patterns[0] = "/&lt;i&gt;/"; // for<i>
$patterns[1] = "/&lt;b&gt;/"; // for<b>
$patterns[2] = "/&lt;u&gt;/"; // for<u>

$replacements = array();

$replacements[0] = '<i>';
$replacements[1] = '</b>';
$replacements[2] = '</u>';

echo preg_replace($patterns, $replacements, $string);
?>
于 2013-04-02T06:30:29.407 回答