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

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

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

 

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

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

тема: Поиск в обратную сторону
 
 автор: Igorek   (26.11.2014 в 17:35)   письмо автору
 
 

Текст примерно такой:
<p>.... text .....</p>
<h1>Title</h1>
text text text
<br>
<pre>IMPORTANT</pre>
<p>.... text .....</p>
<pre>IMPORTANT2</pre>

задача - вставить копию тега <pre> и его содержимого после ближайшего предыдущего закрывающего тега <p> или <h> =) т.е. должно получиться:
<p>.... text .....</p>
<h1>Title</h1><pre>IMPORTANT</pre>
text text text
<br>
<pre>IMPORTANT</pre>
<p>.... text .....</p><pre>IMPORTANT2</pre>
<pre>IMPORTANT2</pre>

  Ответить  
 
 автор: Мимовася   (22.05.2015 в 18:06)
 
   для: Igorek   (26.11.2014 в 17:35)
 

Замена
(</(?:p|h\d)>)((?:.(?!</(?:p|h\d)>))*?)(<pre>.*?</pre>)

на
$1$3$2$3

должна дать искомый результат

// Регулярные выражения не годятся для модификации html. Не сложно подобрать такие входные данные, на которых выражение поведёт себя некорректно с точки зрения html.

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

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