转义<textarea> </textarea>中的HTML标记

时间:2014-07-24 10:37:33

标签: javascript jquery html

我的网站中有一个<textarea> tag,用户可以在其中放置HTML代码并查看其预览。我的问题是当用户在我的<textarea>我的预览功能失败时输入下面提到的代码时:

<html>
<textarea>Some code to show</textarea>
</html>

所以问题是如何在我的<textarea> tag中转义此html代码,因为我知道问题即将发生,因为</textarea> tag

请解决此问题。

修改

问题是关于在textarea中使用</textarea>

此处可见问题:http://jsfiddle.net/hrP6F/

2 个答案:

答案 0 :(得分:3)

编辑为了您的目的,这样做:

<textarea>
        Outside Textarea
        &lt;textarea&gt;Inside Textarea&lt;/textarea&gt;
</textarea>

来源:How can I embed a textarea inside of another textarea in HTML?

或者像已经提到的人一样使用contenteditable - &gt; click

第一回答:我不确定我完全理解但仍然。例如,您想在其他地方的文本区域中显示代码吗?

你可以点击这样做(我认为你不是静态地将嵌套文本区域放在html中?):

HTML:

<textarea id="textarea" >Something code to show</textarea>
<button onclick="show()">show</button>
<div id="showArea"></div>

JS:

function show(){
    var t = document.getElementById('textarea').value; 
    document.getElementById('showArea').innerHTML = t;
}

这当然是你想要的是显示textarea里面的html。你也可以把另一个textarea放在第一个,它会工作。

如果您希望动态显示结果,可以使用

<textarea id="textarea" onkeyup="show()">Something code to show</textarea>

即使您将代码(html和文本区域)放在文本区域内 - 它显示它,我测试了它

答案 1 :(得分:0)

您可以添加输出div以进行预览。下面是jQuery脚本

HTML

<textarea placeholder="Enter your html"><b>test</b></textarea>
 <a href="#" class="run">Run</a>
  <div class="op"></div>

JS

 $('.run').click(function(){
    $('.op').html($('textarea').val());
    return false;
});

DEMO