この関数の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>
コンテンツではなくタグのみ(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);
});
すべてのタグを削除するには、使用できます
$('<div>Content</div>').text()
正規表現を使用するだけです:
html.replace( /<.*?>/g, '' );
できた:)
p
タグの場合:
html.replace( /<[^p].*?>/g, '' );
他のタグの場合、より複雑になります。
これは私のために働いた:
function strip_tags(str) {
str = str.toString();
return str.replace(/<\/?[^>]+>/gi, '');
}
実際の答えではなく、注意の言葉(これで何をしようとしているかによる):
私見、ほとんどallの場合、入力サニタイズはサーバー側で実行する必要があります(この場合、ネイティブPHP関数)を使用します。 replace PHPクライアント側の機能を備えた機能、私は強くアドバイスします。
どうして?
あなたがウェブサイトをオーサリングしているからといって、それが意味するものではありません:
繰り返しますが、あなたの質問に実際に答えているわけではありませんが、あなたの質問に基づいてどこに向かっている可能性があるかに基づいた注意の言葉:)
すべてのタグを削除するには、次を使用できます。
var StrippedString = OriginalString.replace(/(<([^>]+)>)/ig,"");
コード: JavaScriptのHTMLタグを削除
以下を使用して、コンテンツを保持しながらタグを削除します
$('#text').find('p').contents().unwrap();
これはp
タグを削除します。p
は '#text'の子要素です。
これが古いスレッドであっても、まだ答えを探している人には役立つと思います。
Locutus.io関数 が最良の解決策のようです:
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'
これを試すことができます。おそらく最良の解決策です。 http://phpjs.org/functions/strip_tags/