grey109
Новичок
Помогите закрыть открытые тэги с помощью регулярного выражения
Есть html код, например:
===
<html>
<body>
123
<p class=a>dfsd
<p class=a>qwe
wer
<p>test
<p class=b>zxcv
</body>
</html>
===
Нужно закрыть в чем все открытые тэги <p>.
Написал регулярное выражение
$r = preg_replace("/(.*?<p.*?>)(.*?\s+)([^<\/].*?)/is", "\\1\\2</p>\\3", $html);
но оно работает не верно.
Подскажите, где ошибка?
ЗЫ: результатом работы должен быть код вроде
===
<html>
<body>
123
<p class=a>dfsd</p>
<p class=a>qwe
wer</p>
<p>test</p>
<p class=b>zxcv
</p>
</body>
</html>
===
-~{}~ 04.11.07 14:56:
Если кто знает, подойдет решение и без применения регулярных варажений.
Заранее спасибо.
Есть html код, например:
===
<html>
<body>
123
<p class=a>dfsd
<p class=a>qwe
wer
<p>test
<p class=b>zxcv
</body>
</html>
===
Нужно закрыть в чем все открытые тэги <p>.
Написал регулярное выражение
$r = preg_replace("/(.*?<p.*?>)(.*?\s+)([^<\/].*?)/is", "\\1\\2</p>\\3", $html);
но оно работает не верно.
Подскажите, где ошибка?
ЗЫ: результатом работы должен быть код вроде
===
<html>
<body>
123
<p class=a>dfsd</p>
<p class=a>qwe
wer</p>
<p>test</p>
<p class=b>zxcv
</p>
</body>
</html>
===
-~{}~ 04.11.07 14:56:
Если кто знает, подойдет решение и без применения регулярных варажений.
Заранее спасибо.