К примеру в базе есть текст:
"Меня зовут Иван, мне 22 года, я дизайнер. Мой электронный адрес
[email protected] также у меня есть свой сайт, вы можете посетить его набрав
http://test.ru или www.test.ru"
Пропустить через регулярку и в исходе получить такой же текст, но уже ссылки с активным тегом <A> а почту с таким же тегом но с адресом mailto... + сделать targer="_blank"...
Вот нашел в интернете, но он не пашет на 100%...
<?
function clickable_link($text=''){
$text=preg_replace('#(script|about|applet|activex|chrome):#is',"\\1:",$text);
$ret=' '.$text;
$ret=preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is","\\1<a href=\"\\2\" target=\"_blank\">\\2</a>",$ret);
$ret=preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is","\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>",$ret);
$ret=preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i","\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>",$ret);
$ret=substr($ret,1);
return $ret;
}
?>
Changed: ШЕДЕВР (27.10.2012 / 22:20)