JavaScript 置換 HTML タグの実装コード_JavaScript スキル

WBOY
リリース: 2016-05-16 18:44:36
オリジナル
1084 人が閲覧しました
コードをコピーします コードは次のとおりです。

str = str.
>replace( /&(?!#?w ;)/g , '&').
replace( /&(?!#?w ;)/g , '"$1"' ).

replace( /replace( />/g , '>' ).< br /> ;
replace( /…/g , '…' ).
replace( /”/g , '"' ).
replace ( /" /g , '"' ).
replace( /'/g , ''' ).
replace( /'/g , '' ' ).
replace( /—/g , '—' ).
replace( /–/g , '–' ); >
上記は非常に短いものですが、Wind コードを HTML に変換するときに 20 行または 30 行も記述するのは非常におかしなことです。実際、これらの一致するパターンを置き換えたものと比較できます。文字はハッシュに入れられ、一度に置き換えられます。 🎜>'<' : '>' '…' : '…'、
'"' : '"' 、
'"' : '"' 、
''' : ''' 、
''' : '' ' ,
'—' : '—',
'–' : '–'

しかし、この欠陥も明らかです。単純な通常の文字列である必要があり、複雑な通常の文字列であることはできません。これが、理由を区別する必要がある理由です。置換機能は古いブラウザではサポートされていません。このため、上記の最後の置換メソッドを放棄する必要があり、置換メソッドは通常の文字列に統一されます。




コードをコピー


コードは次のとおりです。


String.prototype.multiReplace = function ( hash ) {
var str = this, key;
for ( key in hash ) {
if ( Object.prototype.hasOwnProperty.call( hash, key ) ) {
str = str.replace( new RegExp( key, 'g' ), hash[ key ] );
}
}
return str;

Object.prototype.hasOwnProperty。 call( hash , key ) は、プロトタイプから継承されたメソッドとプロパティをフィルターするために使用されます。このように、使用は簡単です: コードをコピー
コードは次のとおりです:


str = str .multiReplace({
'&(?!#?\w ;)' :'&',
'未定義未定義([^未定義未定義]*)" : '"$1"',
' < ' : '<' 、
'>' : '>'、
'…' : '"' 、
'" : ' ''' 、
'' : ''' 、
''' : ''' 、
'—' : '—'、
'–' : '–'
} );
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!