Одно дополнение.
Пару раз встречал случай когда такой вариант не срабатывал (текст не кликался), но можно было кликнуть элемент который его содержал.
Приходилось через селектор брать родительский элемент этого текста (или как-то так, точно уже не помню).
Поиск и замена в тексте по маскам
-
@Bigma said in Поиск и замена в тексте по маскам:
@YaFrolis У тябя такие сочетания еще где то встречаются </u></div> ?
Да, в том то и дело, что закрывающий, только по открывающему определяется. Ну либо путём немыслимых логических манипуляций )))
-
@Bigma said in Поиск и замена в тексте по маскам:
@YaFrolis Еще раз, у тебя два идущих подряд закрывающих в таком виде еще есть где то кроме заголовков ?
</u></div>Нету. Но именно такого может и не быть. А вот по маске -
"любые символы<div class="h1">любые символы</div>любые символы"точно есть совпадение.
-
@YaFrolis said in Поиск и замена в тексте по маскам:
@Bigma said in Поиск и замена в тексте по маскам:
@YaFrolis Еще раз, у тебя два идущих подряд закрывающих в таком виде еще есть где то кроме заголовков ?
</u></div>Нету. Но именно такого может и не быть. А вот по маске -
"любые символы<div class="h1">любые символы</div>любые символы"точно есть совпадение.
даже вот так
"любые символы<div class="h1">наименьшее количество символов</div>любые символы" -
-
Или так
https://regex101.com/r/qAYh1n/1но брать надо первое вхождение
-
@Bigma said in Поиск и замена в тексте по маскам:
Или так
https://regex101.com/r/qAYh1n/1но брать надо перво вхождение
Спасибо. Вот это работает как нада.
-
@YaFrolis said in Поиск и замена в тексте по маскам:
Есть тексты с html тегами.
Тексты перебираю циклом.
В одних текстах заголовки выделены
"текст <div class="h1"><u>Заголовок</u></div> текст"В других по другому
"текст <font size=5><i>Заголовок</i></font> текст"Необходимо задать несколько точных масок и если по маске подошло - заменять.
Из этого
"текст <div class="h1"><u>Заголовок</u></div> текст" "текст <font size=5><i>Заголовок</i></font> текст"Нужно получать такое -
"текст <h1><u>Заголовок</u></h1> текст" "текст <h1><i>Заголовок</i></h1> текст"Действие "выполнить код"
[[RESULT]] = [[TEMPLATE_RESULT]].replace(/<div class="h1">(.*?)<\/div>/gi, "<h1>$1</h1>").replace(/<font size=5>(.*?)<\/font>/gi, "<h1>$1</h1>")тестовый скрипт
-
@Bigma said in Поиск и замена в тексте по маскам:
@Fox Где почитать, как делать такие штуки ?
Если про replace, то ссылку дали выше. Кстати моя регулярка не сработает, если между тегами будут переносы строки, для этого нужно немого изменить регулярку:
[[RESULT]] = [[TEMPLATE_RESULT]].replace(/<div class="h1">([\s\S]*?)<\/div>/gi, "<h1>$1</h1>").replace(/<font size=5>([\s\S]*?)<\/font>/gi, "<h1>$1</h1>") -
@Fox Чето по той ссылке так не научишься :)
я просто не понял как
/ /gi превращается в $1:)
Хотя кажется дошло, все что регулярка, превращается в шаблон 1, вторая отдельная регулярка превратиться в шаблон два, главное регулярку в круглые скобки заключить, кажется так. А gi это глобальное сопоставление без учета регистра.
-
@Bigma said in Поиск и замена в тексте по маскам:
@Fox Чето по той ссылке так не научишься :)
я просто не понял как
/ /gi превращается в $1:)
Хотя кажется дошло, все что регулярка, превращается в шаблон 1, вторая отдельная регулярка превратиться в шаблон два, главное регулярку в круглые скобки заключить, кажется так.
Почему же не научишься?
giэто флаги регулярного выражения:
Символ
$1это подстановка строки из первой скобочной группы()
-
Да уже дошло, спасибо еще раз за развернутый ответ.
Изящно и удобно.