ホームページ > ウェブフロントエンド > jsチュートリアル > HTML タグと space_jquery の js フィルタリングのアイデアとコード

HTML タグと space_jquery の js フィルタリングのアイデアとコード

WBOY
リリース: 2016-05-16 17:33:16
オリジナル
1459 人が閲覧しました

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

function setContent(str) {
str = str .replace(/]*>/g,''); //HTML タグを削除
str.value = str.replace(/[ | ]*n/g ,'n '); //末尾の空白行を削除します
//str = str.replace(/n[s| | ]*r/g,'n'); //余分な空白行を削除します
return str;
}

テスト中に、このコードでは Web ページ内のスペース文字 (例: ) を除外できないことがわかりました。そこで、再度変更しました。

コードをコピーします コードは次のとおりです。

function deleteHTMLTag (str) {
’ s ’ using ’ s ’ s ’ ‐ ‐ ‐ ‐ ‐ ‐ ‐ str = str.replace(/]*> /g,'n') ; //末尾の空白を削除します
//str = str.replace(/n[s| | ]*r/g,'n') //冗長な空白行を削除します
str=str.replace(/ /ig,'');//
return str;
}

を削除します さて、私の要望は満たされました。

ここで、使用される 3 つの正規表現について簡単に説明します (初心者のため、私の説明が正しくない可能性があることに注意してください。参考用です)。

最初の 1 つ:/?[^>]*>/g

js では、正規表現は「/」で始まり、次の /g はグローバル パターンを意味します。これは、最初の一致が停止した後ではなく、文字列全体に一致するパターンが適用されることを意味します。

]*> 2 番目の文字「"」は、次の「/」文字を転送するために使用されます。 ? は直前の 0 文字または 1 文字と一致します。注: このメタキャラクターはすべてのソフトウェアでサポートされているわけではありません。したがって、

[^>]*> について話しましょう。 [] の意味:

^ の意味は次のとおりです: 行の先頭と一致します。たとえば、正規表現 ^When in は、文字列「When in the course of human events」の先頭には一致しますが、「What and When in the」には一致しません。これは、「When in」で始まるテキストの一致を意味します。

* の意味は次のとおりです: その直前の 0 個以上の文字と一致します。たとえば、正規表現です。 * 任意の数の任意の文字と一致できることを意味します

つまり、[^>]* は > 以外の文字に一致することを意味します。したがって、[^>] が一致するパターンは次のようになります:

div

必要なテキスト
必要なテキスト

* を前の [^>] と組み合わせると、次の文字と一致します:

div>必要なテキストp>必要なテキストbr /
次の文字と一致するように次の > を追加します。
div>必要なテキスト
p>必要なテキスト

br />
これで、HTML タグのペアの一致が完了しました。 (もっと言うと、このマッチングは少し冗長だといつも感じますが、どこに冗長性があるのか​​わかりません)

2 番目: /[ | ]*n/g: 私も理解できません

3 番目: // /ig: 文字を直接検索します。次の /ig の意味は、グローバル モードで大文字と小文字を区別しない検索を実行することです。 g はグローバルを表し、i は大文字と小文字を区別しないことを表します。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート