|
|
|
| Использую регулярку в JS для поиска и замены слов определенных тэгах с определенными классами. Данные с которыми сравнивает регулярка берутся JS из JSON, который генерится PhP (всё строго в UTF-8). Проверял русские слова выводя их ALERTом - они читаемы, тобиш в место где написано "COMPARE " приходит судя по всему верное значение.
Еще одним нюансом этой регулярки является то, что она не должна заменять что либо внутри тэгов, тобиш я хочу проверять и заменять значения только вот как в примере: <my teg 1> Проверяем только тут <my teg 2> - это тоже отлично работает.
Не работает только русский язык %) точнее проверка не отрабатывает. Я так думаю куда то надо воткнуть волшебную строку с А-ЯЁ но я не знаю куда. Подсобите? Строка с регуляркой ниже. COMPARE - на самом деле в моем коде заменен на массив с ключами, но это не нужно в этом примере.
myTextBody.html().replace(new RegExp('(?!<.*?)\\b('+COMPARE+')\\b(?![^<>]*?(</a>|>))', 'gi' ), starMon_replacer); | |
|
|
|
|
|
|
|
для: Shin0by
(22.10.2015 в 16:24)
| | И даже есть еще одна более важная вещь. Как исключить поиск в каком либо теге? Беда в том, что я заменяя значение иногда получаю значения содержащие сами себя. Как можно исключить проверку по тегу\тегам. Я могу добавить любой ключ, класс, что угодно для выверения этого.
Наверное коряво объяснил.
Есть некая модель, пусть ее полное название будет "Модель 0001 красная", так вот у меня добавляется всплывающий тэг к каждому "Модель 0001 красная" и это работает. Но массив так же проверяет и на короткие названия типа "0001 красная". И тогда возникает казус, так как будет куча вложенностей ибо в одной подстроке будет и "Модель 0001 красная" и "0001 красная". Могу ли я добавляя какой то префикс к тэгам в которых ищу, исключить регуляркой замену? | |
|
|
|