繁体   English   中英

jquery将文本标签转换为html标签

[英]jquery turn text tags to html tags

我有一个填充div的字段,类似于在stackoverflow上询问问题的方式。

    var text = $("#edit").val();
    $("#output").text(text);

我希望能够使用选定的几个html标签,例如<b>粗体。 当我试着这个时,标签出现为文本而不是html。 如果可能的话,我希望能够搜索特定的标签并将它们变成html。

有人可以帮忙吗?

谢谢

使用.html()函数而不是.text()函数,转义除<b>标记之外的所有内容。

编辑 :方法可能会根据您要保留的标签数量和编码数量而有所不同。
这将保留<b>标签:

var text = 'This is <i>encoded text</i> but this is <b>bold</b >!';
var html = $('<div/>')
    .text(text)
    .html()
    .replace(new RegExp('&lt;(/)?b\\s*&gt;', 'gi'), '<$1b>');

尝试使用......

$("#output").html(text);

文件

这应该这样做:

$('#output').html($('<div/>').text(text).html().replace(/&lt;(\/?b)&gt;/g, '<$1>'));

显然,如果你想要的不仅仅是标签,你的正则表达式可能会变得非常复杂,但基本上你要么选择性地编码,要么编码所有内容然后选择性地解码。 后者似乎更安全。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM