preg_replace обработка тега

  • Автор темы Савелей
  • Дата начала

Савелей

Guest
preg_replace обработка тега

Может кто поможет с preg_replace

Что имеем:
текст с tag <br> (расположение может быть и другое)

Text
<br>•
<br>•
<br>•
Text
<br>•
Text
<br>•
Text
<br>•
Text
<br>•
<br>•
<br>•
<br>•
Text

Как удалить все лишнии tag <br>• чтоб остались только

Text
<br>•
Text
<br>•
Text
<br>•
Text
<br>•
Text
<br>•
Text

Что то у меня не как:(
 

Савелей

Guest
preg_replace('/\<br\>•+/','',$text);

preg_replace('/\<br>•\s+\<br>•/','',$text);

Да еще дело в том что там между <br>• неизвестно сколько пробелов

-~{}~ 15.08.05 13:11:

Лбди добрые:)
подскажите пожайлуста или ссылочку что почитать обучаюсь мгновенно:)
 

BuTbKa

Новичок
PHP:
<?
$s='Text
<br>•
<br>•
<br>•
Text
<br>•
Text
<br>•
Text
<br>•
Text
<br>•
<br>•
<br>•
<br>•
Text';
$out='';
foreach (explode('<br>•',$s) as $v)
    if (trim($v)<>'')
        $out.="<br>•".trim($v);
print_r($out);
?>
Вывод:
<br>•Text
<br>•Text
<br>•Text
<br>•Text
<br>•Text
<br>•Text

-~{}~ 15.08.05 14:33:

вот без регулярок.
Здесь проще без них
 

Савелей

Guest
Спасибо Вам огромное.

А не как регулярное не пойдет, просто очень хочу посмотреть как выглядит.
 

texrdcom

Новичок
Пример 3. Конвертация HTML в текст
// $document должен содержать HTML-документ.
// Здесь будут удалены тэги HTML, разделы javascript
// и пустое пространство. Также некоторые обычные элементы
// HTML конвертируются в их текстовые эквиваленты.

$search = array ("'<script[^>]*?>.*?</script>'si", // Вырезается javascript
"'<[\/\!]*?[^<>]*?>'si", // Вырезаются html-тэги
"'([\r\n])[\s]+'", // Вырезается пустое пространство
"'&(quot|#34);'i", // Замещаются html-элементы
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(\d+);'e"); // вычисляется как php

$replace = array ("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");

$text = preg_replace ($search, $replace, $document);
 
Сверху