У меня есть этот HTML:
"This is simple html text <span class='simple'>simple simple text text</span> text"
Мне нужно сопоставить только те слова, которые находятся за пределами любого тега HTML. Я хочу сказать, что если я хочу сопоставить "простой" и "текст" , я должен получить результаты только из "Это простой html-текст", а последняя часть "текст" - результат будет "простым" 1 совпадением, "текст" 2 Матчи. Может ли кто-нибудь помочь мне с этим? Im использует 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>
Он должен быть таким же, как и перед заменой.