剥离<script>标签但不剥离<br> </script>

时间:2013-08-09 12:24:35

标签: jquery html strip

我尝试创建一个简单的聊天室,但是如何从聊天消息中删除<script>的标签?

HTML:

<div></div>
<textarea>Hello , <script>alert('world');</script>
This is a new line !
</textarea>
<button>Send</button>

jQuery:

$('button').click(function(){
    var msg = $('textarea').val().replace(/\r\n|\r|\n/g,"<br />")
    $('div').append(msg);
});

当用户点击“发送”时,我希望结果为

  

您好,警惕('世界');

     

这是一个新行!

没有<script></script>标记但使用<br>标记而不是换行符。

游乐场: http://jsfiddle.net/rGNEe/

2 个答案:

答案 0 :(得分:1)

尝试

$('button').click(function(){
    var msg = $('textarea').val().replace(/\r\n|\r|\n/g,"<br />").replace(/</, '&lt;').replace(/>/, '&gt;')
    $('div').append(msg);
});

演示:Fiddle

答案 1 :(得分:1)

喜欢这个。

Live Demo

$('button').click(function(){
    var msg = $('textarea').val().replace(/(<([^>]+)>)/ig,"").replace(/\r\n|\r|\n/g,"<br />")
    $('#res').append(msg);
});