私はこのHTMLを持っています:
"This is simple html text <span class='simple'>simple simple text text</span> text"
HTML タグの外側にある単語のみを照合する必要があります。つまり、「単純」と「テキスト」を一致させたい場合、「これは単純な html テキストです」と最後の部分「テキスト」からのみ結果を取得する必要があります。結果は「単純」1 一致、「テキスト」2 になります。一致します。誰でもこれで私を助けることができますか?私はjQueryを使用しています。
var pattern = new RegExp("(\\b" + value + "\\b)", 'gi');
if (pattern.test(text)) {
text = text.replace(pattern, "<span class='notranslate'>$1</span>");
}
value
一致させたい単語です (この場合は「単純」)text
は"This is simple html text <span class='simple'>simple simple text text</span> text"
選択したすべての単語 (この例では「シンプル」) を でラップする必要があり<span>
ます。しかし、 HTML タグの外側にある単語だけをラップしたいと考えています。この例の結果は次のようになります。
This is <span class='notranslate'>simple</span> html <span class='notranslate'>text</span> <span class='simple'>simple simple text text</span> <span class='notranslate'>text</span>
内部のテキストを置き換えたくない
<span class='simple'>simple simple text text</span>
交換前と変わらないはずです。