Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: регулярка для замены списка на текст
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » регулярка для замены списка на текст

Страниц (1): [1]
 

1. Viper - 24 Июня, 2009 - 14:50:46 - перейти к сообщению
собстно в регулярных ни гугу... село без асфальта...
что нужно
к примеру есть строка вида
CODE (text):
скопировать код в буфер обмена
  1. <ul id="e"><li class="r">bla bla bla</li><li class="r">bla1 bla1 bla1</li></ul>

нужно получить текст вида
CODE (text):
скопировать код в буфер обмена
  1. * bla bla bla<br />* bla1 bla1 bla1


причем ul и li могут быть с свойствами а могут и без них.
и походу вопрос ещё... если к примеру у списка отсутствуют закрывающие теги, можно ли это как-то отследить ?
2. Champion - 24 Июня, 2009 - 14:54:20 - перейти к сообщению
3. Viper - 24 Июня, 2009 - 15:36:04 - перейти к сообщению
эммм... с preg_replace не работает. оставляет последний тег
4. IOpeH - 24 Июня, 2009 - 15:42:55 - перейти к сообщению
Viper, а preg_match_all ?
5. Viper - 24 Июня, 2009 - 15:53:52 - перейти к сообщению
во! спасибо сделал!

CODE (text):
скопировать код в буфер обмена
  1. $text = '<ul class="dtd">
  2.         <li id="one">bla bla bla</li>
  3.         <li id="one">bla bla bla</li>
  4.         <li id="one">bla bla bla</li>
  5. </ul>';
  6.  
  7. preg_match_all("/\<li[^>]*\>(.*)\</sUim", $text, $matches);
  8. for ($i=0; $i< count($matches[0]); $i++) {
  9.         echo '&bull; '.$matches[1][$i].'<br />';
  10. }


результат
CODE (text):
скопировать код в буфер обмена
  1. &bull; bla bla bla<br />&bull; bla bla bla<br />&bull; bla bla bla<br />

 

Powered by ExBB FM 1.0 RC1