Удаление <br> в абзацах

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 12 сен 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Здравствуйте.
    Имеем текст, разбитый по абзацам.
    $text="<p>text1</p> sd <p>text2</p> sdasd";
    Как удалить тег </br> в тексте, который только между тегами <p>?
     
  2. pori

    pori Постоялец

    Регистр.:
    30 авг 2009
    Сообщения:
    114
    Симпатии:
    18
    попробуй так:

    PHP:
    $text "<p>sdfsfsf<br/>acdsacdac<br/>sfdfdsf</p><br/>";
    $pattern "'(?<=\<p>)(.*?)<br/>(.*?)(?=\</p>)'";
    $replacement "$1$2";
    $count 1;
    while (
    $count!=0) {
        
    $text preg_replace($pattern$replacement$text, -1$count);
    }
    print_r($text);
     
    LEXAlForpostl нравится это.
  3. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Ещё вопрос.
    Имеем текст:
    $text="
    <!-tag> Line1
    text1

    <!-tag> Line2
    text2
    ...
    ";
    Подскажите пожалуйста, как применить функцию str_replace для text1,text2. При этом, не трогая Line1,Line2.
    И, как отдельно выделить Line1,Line2.
    Записать их в отдельный файл, каждый Line с новой строки.
     
  4. pori

    pori Постоялец

    Регистр.:
    30 авг 2009
    Сообщения:
    114
    Симпатии:
    18
    PHP:
    $text="
    <!-tag> Line1
    text1

    <!-tag> Line2
    text2
    "
    ;

    $regex "'<!-tag> (.*?)[\r\n]+?'is";
    preg_match_all($regex$text$out);
    print_r($out);

    $pattern "'(<!-tag>.*?[\r\n]+?).*([\r\n]{1,4})'";
    $replacement "$1non-text$2";
    $text preg_replace($pattern$replacement$text);
    print_r($text);
     
Статус темы:
Закрыта.