САМОУЧИТЕЛЬ PHP 4

Преобразование гиперссылок


Задача: имеется текст, в котором иногда встречаются подстроки вида

протокол://URL, где протокол— один из протоколов http, ftp или gopher, а URL — какой-нибудь адрес в Интернете. Нужно заместить их на HTML-эк­виваленты <a href=…>…</a>.

Решение:

$w="[:alnum:]";

$p="[:punct:]";

$text=eregi_Replace(

  "((https?|ftp|gopher)://".          // протокол

    "[$w-]+(\\.[$w-]+)*".             // имя хоста

      "(/[$w+&.%]*(\\?[$w?+&%]*)?)?". // имя файла и параметры

  ")",

  '<a href="\\1">\\1</a>',

  $text

);



Содержание раздела