Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Требуется помощь с регуляркой
 
 автор: Shin0by   (22.10.2015 в 16:24)   письмо автору
 
 

Использую регулярку в 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 в 17:27)   письмо автору
 
   для: Shin0by   (22.10.2015 в 16:24)
 

И даже есть еще одна более важная вещь. Как исключить поиск в каком либо теге? Беда в том, что я заменяя значение иногда получаю значения содержащие сами себя. Как можно исключить проверку по тегу\тегам. Я могу добавить любой ключ, класс, что угодно для выверения этого.

Наверное коряво объяснил.

Есть некая модель, пусть ее полное название будет "Модель 0001 красная", так вот у меня добавляется всплывающий тэг к каждому "Модель 0001 красная" и это работает. Но массив так же проверяет и на короткие названия типа "0001 красная". И тогда возникает казус, так как будет куча вложенностей ибо в одной подстроке будет и "Модель 0001 красная" и "0001 красная". Могу ли я добавляя какой то префикс к тэгам в которых ищу, исключить регуляркой замену?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования