Выделение всех URL в документе
Этот скриптик я использовал в первых выпусках рассылки на сервере www.codenet.ru.
Написан он на PHP и делает все ссылки «кликабельными».
<?
$fname="file.txt";
function parseurl($messagetext) {
// the auto parser - adds [url] tags around neccessary things
// catch those with a space or new line before
$messagetext=eregi_replace("([ \r\n])http://([^ ,\r\n]*)","\\1<a href='http://\\2'>http://\\2</a>",$messagetext);
$messagetext=eregi_replace("([ \r\n])https://([^ ,\r\n]*)","\\1<a href='https://\\2'>https://\\2</a>",$messagetext);
$messagetext=eregi_replace("([ \r\n])ftp://([^ ,\r\n]*)","\\1<a href='ftp://\\2'>ftp://\\2</a>",$messagetext);
$messagetext=eregi_replace("([ \r\n])www\\.([^ ,\r\n]*)","\\1<a href='http://www.\\2'>http://www.\\2</a>",$messagetext);
// catch those right at the begninning
$messagetext=eregi_replace("^http://([^ ,\r\n]*)","<a href='http://\\1'>http://\\1</a>",$messagetext);
$messagetext=eregi_replace("^https://([^ ,\r\n]*)","<a href='https://\\1'>https://\\1</a>",$messagetext);
$messagetext=eregi_replace("^ftp://([^ ,\r\n]*)","<a href='ftp://\\1'>ftp://\\1</a>",$messagetext);
$messagetext=eregi_replace("^www\\.([^ ,\r\n]*)","<a href='http://www.\\1'>http://www.\\1</a>",$messagetext);
return $messagetext;
}
$d=file($fname);
$fw=fopen($fname.".htm","wt");
for ($i=0;$i<count($d);$i++) {
$str=parseurl($d[$i]);
$str=str_replace("\r","",$str);
fputs($fw,$str);
}
fclose($fw);
?>
Download this code: parseurl.phps
Комментарии