|
|
|
| Добрый день! Есть проблема по Рег.выражению, помогите пжста решить.
есть текст примерно такого содержания, не смотрите что html невалидный
<h1 params>some text</h1> some html text </div> some text
<h1 params>some text</h1> some text
<h1 params>some text</h1> some html text </div> some text
<h1 params>some text</h1>
|
нужно выбрать
<h1 params>some text</h1>
|
или
<h1 params>some text</h1> some html text </div>
|
это только в случае если есть </div> до нового открывающего <h1
если рассматривать только первый случай, то вот такое выражение решит проблему
'|<h1[^<>]*>(.*)</h1>|isU'
|
а вот со вторым, у меня, сложности
some html text - означает что могут быть теги, только не h1 и div | |
|
|
|
|
|
|
|
для: _pina_
(24.01.2011 в 13:08)
| | Код нужно подгонять к валидному ведь у div есть и открыващий тег.
С тем , что вижу работать нельзя.
<
?PHP
ini_set('display_errors',1);
error_reporting(E_ALL);
$n='<h1 params>hello </h1> my friend </div> some text
<h1 params>goodbuy</h1> old friend
<h1 params>good morning</h1> good </div> some text
<h1 params>bravo</h1>';
preg_match_all('/<h1.+?<\/div>/mi', $n, $match);
foreach($match[0] as $value)
{
echo $value .'<br>';
}
?>
|
Также я бы вспомнил про функцию strip_tags возможно оан приведет текст к занменателю и потом с ним можно будет работать. | |
|
|
|