这个函数有jQuery版本吗?
string strip_tags (string $ str [, string $ allowable_tags])
从字符串中删除其中的所有标记和内容,但允许的标记字符串中定义的除外。
像:
var stripped = strip_tags($('#text').html(), '<p><em><i><b><strong><code>');
从:
<div id="text">
<p> paragraph </p>
<div> should be stripped </div>
</div>
答案 0 :(得分:33)
要删除只是标记,而不是内容,这是PHP strip_tags()
的行为方式,您可以这样做:
var whitelist = "p"; // for more tags use the multiple selector, e.g. "p, img"
$("#text *").not(whitelist).each(function() {
var content = $(this).contents();
$(this).replaceWith(content);
});
答案 1 :(得分:20)
删除所有可以使用的标签
$('<div>Content</div>').text()
答案 2 :(得分:12)
只需使用正则表达式:
html.replace( /<.*?>/g, '' );
完成。 :)
对于p
标记:
html.replace( /<[^p].*?>/g, '' );
对于其他标签,它会变得更复杂。
答案 3 :(得分:5)
这对我有用:
function strip_tags(str) {
str = str.toString();
return str.replace(/<\/?[^>]+>/gi, '');
}
答案 4 :(得分:4)
不是一个真正的答案,而是一个谨慎的话(取决于你试图用这个做什么):
恕我直言,在几乎所有的情况下,输入清理应该在服务器端完成(在这种情况下,使用本机PHP函数)。如果您的意图是使用客户端功能替换 PHP功能,我会强烈提供建议。
为什么?
仅仅因为您正在创作一个网站,并不意味着:
同样,并没有真正回答你的问题,而是根据你的问题根据你可能会前往的方向提出警告:)
答案 5 :(得分:3)
要删除所有代码,可以使用:
var StrippedString = OriginalString.replace(/(<([^>]+)>)/ig,"");
答案 6 :(得分:1)
使用以下内容删除标记,同时保留内容
$('#text').find('p').contents().unwrap();
这会剥离p
标记,其中p
是'#text'的子元素。
答案 7 :(得分:1)
你可以试试这个,可能是最好的解决方案:http://phpjs.org/functions/strip_tags/
答案 8 :(得分:1)
即使这是一个旧线程,我认为它对那些仍在寻找答案的人有用。
Locutus.io function似乎是最佳解决方案:
function strip_tags (input, allowed) {
allowed = (((allowed || '') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join('')
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi
var commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi
return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) {
return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : ''
})
}
示例1:
strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i><b>')
返回1:'Kevin <b>van</b> <i>Zonneveld</i>'
示例2:
strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>')
返回2:'<p>Kevin van Zonneveld</p>'
示例3:
strip_tags("<a href='http://kvz.io'>Kevin van Zonneveld</a>", "<a>")
返回3:"<a href='http://kvz.io'>Kevin van Zonneveld</a>"
示例4:
strip_tags('1 < 5 5 > 1')
返回4:'1 < 5 5 > 1'
示例5:
strip_tags('1 <br/> 1')
返回5:'1 1'
示例6:
strip_tags('1 <br/> 1', '<br>')
返回6:'1 <br/> 1'
示例7:
strip_tags('1 <br/> 1', '<br><br/>')
返回7:'1 <br/> 1'