0

在我的聊天室中替换东西时,它会在框中显示为“HTML 字符实体”。但是,我希望它恢复原状,并在聊天室中显示时实际显示输入的字符。所以我使用下面的代码来阻止任何 html 被输入并通过用那里的实体替换某些 html 字符来破坏聊天室(我想在查看其他我知道还有更多之前让一两个工作。) ……

Javascript

                 var str1 = this.value.replace(/>/g, '<');
         if (str1!=this.value) this.value=str1;       

          var str2 = this.value.replace(/</g, '&#62;');
          if (str2!=this.value) this.value=str2;

然后下面的代码在将文本输入数据库等后显示文本,并在更新聊天框时使用以下内容添加更新的消息...

从php返回,然后通过下面的javascript显示

    $('#chatroomarea').append($("<p>"+ data.text[i] +"</p>"));

我已经搞砸了几次将其更改为 val 并使用

     .html(.append($("<p>"+ data.text[i] +"</p>"))); 

等等,但我没有运气。我不太确定如何做到这一点我只需要 HTML 字符实体实际显示在真正的字符中,而不是显示诸如...'>'之类的东西

这可能是我需要实际放入替换代码中的内容,其中将包含它自己的替换代码,例如(这只是一个示例,我不确定如何编写它)...。

    var str1 = this.value.replace(/>/g, '.html(&#60;)');

对此的任何帮助将不胜感激,谢谢。

4

1 回答 1

0
$('#chatroomarea').append($("<xmp>"+ data.text[i] +"</xmp>"));

HTML xmp标记

该用法已弃用,但在大多数浏览器中均受支持。

另一种选择是使用 styled textarea,据我所知,这两个标签不会打扰呈现 html 标签。

于 2013-10-14T18:13:10.433 回答