Удаление ссылок

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

Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Здравствуйте.
    Подскажите, пожалуйста, в переменной $text разные html теги.
    Мне надо удалить только тег <a ... > оставить</a> . Но текст между тегом оставить, т.е. необходимо удалить ссылки.
     
  2. Murdok

    Murdok

    Регистр.:
    1 окт 2006
    Сообщения:
    236
    Симпатии:
    84
    проще вам будет использовать strip_tags, нужно будет добавить исключения для разрешенных тегов
    http://php.net/manual/en/function.strip-tags.php
    или писать рег. выражение через preg_replace
     
  3. kkkoopp

    kkkoopp Постоялец

    Регистр.:
    18 май 2010
    Сообщения:
    121
    Симпатии:
    24
    PHP:
    $text preg_replace('/<a[^>]+>/'''$text);
    $text str_replace('</a>'''$text);
     
  4. Dimanf

    Dimanf Постоялец

    Регистр.:
    27 фев 2010
    Сообщения:
    66
    Симпатии:
    10
    strip_tags ( string $str [, string $allowable_tags ] ) - удалит все теги или все кроме указанных в $allowable_tags
     
  5. kkkoopp

    kkkoopp Постоялец

    Регистр.:
    18 май 2010
    Сообщения:
    121
    Симпатии:
    24
    Функция strip_tags подходит, когда нужно удалить все теги, кроме одного или двух, а тут требуется удалить один тег, а все остальные оставить. Поэтому здесь лучше использовать регулярку.
     
  6. VandJ

    VandJ

    Регистр.:
    8 апр 2008
    Сообщения:
    318
    Симпатии:
    113
    PHP:
    $text preg_replace("'<a[^>]+>(.*?)</a>'""\\1"$text);