jQuery:仅呈现URL和<;a>;标签
我已经问过这个问题,但没有得到正确答案,所以请再次提问。如果我在文本区域中有如下文本:jQuery:仅呈现URL和<;a>;标签,jquery,Jquery,我已经问过这个问题,但没有得到正确答案,所以请再次提问。如果我在文本区域中有如下文本: This is normal text this is www.google.com <a href='xyz.com'>this is link</a> <h3>don't render this h3 tag</h3> this is another <small>don't render this small tag</small&g
This is normal text this is www.google.com <a href='xyz.com'>this is link</a>
<h3>don't render this h3 tag</h3> this is another <small>don't render
this small tag</small> tag.<strong> don't render this strong tag</strong>
这是普通文本这是www.google.com
不渲染此h3标记这是另一个不渲染
此小标记。不呈现此强标记
..当我提交textarea并将上面的字符串放入div中时,它应该呈现为:
这是正常文本这是
不渲染此h3标记
这是另一个不渲染此小标记
标记。不渲染此强标记
i、 e.只要呈现,它就会显示到google.com的链接),任何其他html标记都应该保持原样。我该怎么做
问题是如果我不这样做,那么任何用户在我的网站上发布任何文本时都可以使用html
标记只需使用:
演示:
编辑:(2/6/2014)
无论标记类型如何,都可以应用相同的逻辑
或使用:
// by tag - I mean 'h1', 'h3', 'small'
// so $('h1, h3, small')
$(tag).replaceWith(function(){
return $(this).text();
});
演示:
或者您可以使用或:
演示:我说我不想解析除url
和a
之外的所有其他标记。您的解决方案甚至是解析实际上我不想要的h1
。即使在解析之后,它也应该是
。如果我将遵循这个解决方案,任何人都可以在发布任何回复或消息时使用标签post@Manish您提供的示例要求删除
到这是链接。也没有提到
。请编辑您的问题,我将修改我的解决方案。另外,请详细说明你所说的url
…我更新了我的问题。请看一看。我只想呈现给定文本中可用的任何url或标记。所有其他文本应按原样显示。
// by tag - I mean 'h1', 'h3', 'small'
// so $('h1, h3, small')
$(tag).replaceWith(function(){
return $(this).text();
});
$(function(){
$('body :not(a, h3)').replaceWith(function(){
return $(this).text();
});
});