За последние 24 часа нас посетил 34921 программист и 1756 роботов. Сейчас ищут 920 программистов ...

Функция типограф, пропуск ссылок

Тема в разделе "Прочие вопросы по PHP", создана пользователем Евгений Педан, 7 фев 2008.

  1. Евгений Педан

    Евгений Педан Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте!

    Есть функция

    Код (Text):
    1. function typograph1($text)
    2. {
    3.   $text1 = str_replace("--","—",$text);
    4.   $text1 = preg_replace("/'([^\']+)'/", "«\\1»", $text1);
    5. //  $text1 = preg_replace("<a([\^(&laquo;)$(.+)^(&raquo;)$]+)>","'",$text1);
    6.  
    7.   return $text1;
    8. }
    Но необходимо чтобы при замене пропускались <a ...>...</a> и всё что в http://

    например

    У нас есть 'то-то'

    //Потом пропуск

    <a href='url' target='_blank'> urlss </a>
    http://www.site.com

    А у Вас есть 'то-то'

    Как сделать ? Подскажите плиз уже голову сломал :(
     
  2. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    а strip_tags не подойдёт?
    Задачу поконкретнее поставь - что именно надо "пропускать".
     
  3. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    Евгений Педан, составь регулярку из двух подмасок:
    1. тэг и его содерживое
    2. текст между тэгами
    именно в таком порядке. потом натравливаешь preg_replace_callback и в коллбэке смотришь какая из этих подмасок совпала. соответственно, либо меняешь текст, либо нет.
     
  4. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург