0

次の文字列があります。

<h1 class="title">This is some heading?</h1><h2 class="desc">Here is the description for it.</h2>

次のようにしたい:

<h1 class="title">This is some heading? </h1> <h2 class="desc">Here is the description for it.</h2>

上記には 2 つの部分があります。

  1. すべての特殊文字の後にスペースを挿入します。したがって、上記の例では、疑問符の代わりに ! または & または ( または ) または % など、そのような特殊文字の後にスペースを挿入する必要があります。
  2. HTML の開始タグをすべて削除し、HTML の終了タグをスペースに置き換えます。

1については、これを試しました:

str = str.replace(/\?/g,'? ');  

上記は ? の後にスペースを挿入します。しかし、それは非常に硬いです。すべての特殊文字に同じルールを適用することはできません。では、どうやってそれを行うのですか?

2については、これを試しました:

//To entirely remove all opening html tags    
str = str.replace(/<.*?>/g, '');

//To replace closing tag with space    
str = str.replace(/<\/.*?>/g, ' ');

上記のコードの問題は、後半部分がうまく機能することです。最初の部分、つまりすべての開始 html タグを削除するコードは、終了 html タグにも影響を与えますが、これは望ましくありません。では、上記のコードを変更して、などの開始タグ<h1>, <div>,を削除するにはどうすればよいでしょうか?

4

2 に答える 2

0

マッチ :

\s*(?<ws>[<>])\s*

と置き換えます

$1
于 2012-07-08T10:30:38.723 に答える