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

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

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

 

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

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

тема: Выбрать текст с условием
 
 автор: _pina_   (24.01.2011 в 13:08)   письмо автору
 
 

Добрый день! Есть проблема по Рег.выражению, помогите пжста решить.

есть текст примерно такого содержания, не смотрите что 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

  Ответить  
 
 автор: dima4321   (24.01.2011 в 13:55)   письмо автору
 
   для: _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 возможно оан приведет текст к занменателю и потом с ним можно будет работать.

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

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