Задача: имеется текст, в котором иногда встречаются подстроки вида
протокол://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
);