Форматирование HTML-кода

Статус
В этой теме нельзя размещать новые ответы.

krobol

Постоялец
Регистрация
5 Июн 2008
Сообщения
455
Реакции
126
Никак не могу разобраться с регулярками и модификаторами s, m

Есть текст:

HTML:
<td>
  <div id="head">
    заголовок
  </div>
  текст_после
</td>
<td>текст_до
  <div id="head">
    заголовок
  </div>
  текст_после
</td>
<td>
  текст_до
  <div id="head">
    заголовок
  </div>
</td>
<td>
  <div id="head">
    заголовок
  </div>
</td>

как обернуть каждый "текст_до" и каждый "текст_после" в
<div id="body">
</div> ?
В "текст_до" и "текст_после" могут входить теги <p>, <b> и т.п.
У <td> могут быть различные параметры style, class, font.

делаю так, но не получается, ни без "%m", ни без "%s":
PHP:
$content = preg_replace(
    '%(<td[^>]*?>)(.*?)(<div id="head">.*?</td>)%ims',
    '\\1<div id="body">\\2</div>\\3',
    $content
);

$content = preg_replace(
    '%(<td[^>]*?>.*?<div id="head">)(.*?)(</td>)%ims',
    '\\1<div id="body">\\2</div>\\3',
    $content
);
 
PHP:
$content = preg_replace( 
    '/<\/div>(.*?)<\/td>.*?<td[^>]*>(.*?)<div id=\"head\">/si', 
    '</div><div id="body">$1</div></td><td><div id="body">$2</div><div id="head">', 
    $content 
);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху