【问题标题】:jQuery Convert Html To Text And BackjQuery 将 Html 转换为文本并返回
【发布时间】:2015-02-21 13:03:06
【问题描述】:

如果我的网页上有一个文本区域供用户输入文本,我如何将其转换为在按下按钮时显示为 html,反之亦然?我正在寻找类似 wordpress 在用户输入文本然后将其转换为 html 或可以编写 html 并将其转换为文本时所做的事情。

到目前为止,我已经尝试了几段代码:

var text_only = $('.snippet').text();

这只会显示没有标签的html,这不会按预期呈现html,其他的也好不了多少

修正:请参阅链接以获得更好的说明 - http://www.w3schools.com/html/tryit.asp?filename=tryhtml_basic_document

谢谢

尼克

【问题讨论】:

  • 不太清楚。您的意思是您希望 textarea 中的确切文本成为 HTML 吗?或者你有[b] 之类的标签吗?
  • 他们使用的是iframe
  • 谢谢@Itay 在 iframe 中有什么特别需要我查看的内容吗?
  • 并非如此。例如,参见this。此外,text() 不适用于 textareaval()

标签: jquery html text converter


【解决方案1】:

你的意思是这样的吗? http://jsfiddle.net/7crysb0L/2

js:

$('#dohtml').click(function() {

    var textAreaVal = $('#myTextArea').val();

    $('#myDiv').html(textAreaVal);

});

$('#dotext').click(function() {

    var textAreaVal = $('#myTextArea').val();

    $('#myDiv').text(textAreaVal);

});

html:

<textarea id="myTextArea" placeholder="Type here, then click the button to update the div"></textarea>
<br />

<button id="dohtml">Make HTML</button>
<button id="dotext">Make Text</button>
<div id="myDiv"></div>

这会产生两个按钮。单击“制作 HTML:使用 textarea 中的 HTML 填充 myDiv,然后单击“制作文本” - 将 textarea 的内容视为文本并使用可见的 HTML 标签填充 div。

值得注意的是,这不是应该在当前状态下使用的代码,除非它只是客户端,因为它很容易插入不安全的值 - 例如,尝试运行 JS fiddle,将 &lt;/textarea&gt;&lt;script&gt;alert('lol')&lt;/script&gt; 插入文本区域,然后单击“制作 HTML”以查看原因....您不想像这样将未经清理的垃圾保存到后端某个地方,但如果它只是用于演示目的,应该没问题。

jQuery html api 参考:http://api.jquery.com/html/

【讨论】:

    【解决方案2】:
    var text_only = '&lt;div&gt;' + $('.snippet').text() + '&lt;/div&gt';
    

    这里是小提琴:http://jsfiddle.net/p5hnttga/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-31
      • 2023-04-04
      • 1970-01-01
      相关资源
      最近更新 更多