<?
//--- функция обработки Url ---//
function url_replace($m){
if(!isset($m[3])){
if(preg_match('|^http:\/\/'.$_SERVER['HTTP_HOST'].'|si',$m[1])){
return '<a href="'.$m[1].'">'.$m[2].'</a>';
}else{
return '<a href="'.$m[1].'"target="_blank">'.$m[2].'</a>';
}
}else{
$m[4] = (mb_strlen($m[3], 'utf-8')>70) ? mb_substr($m[3], 0, 35, 'utf-8').'...'.mb_substr($m[3], -15, 15, 'utf-8') : $m[3];
if(preg_match('|^http:\/\/'.$_SERVER['HTTP_HOST'].'|si',$m[3])){
return '<a href="'.$m[3].'">'.$m[4].'</a>';
}else{
return '<a href="'.$m[3].'" target="_blank">'.$m[4].'</a><';
}
}
}
?>
Добавлено через 01:27 сек.
<?
// ------- BB Code ------- //
function bb($str){
$str = preg_replace('#\[code\](.*?)\[/code\]#sie', 'highlight_code("\1")', $str);
$str = preg_replace_callback('~\\[url=(https?://.+?)\\](.+?)\\[/url\\]|(https?://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&_=/%-:#]*)~i', 'url_replace', $str);
}
?>
использовать так
<?
echo bb($text);
?>
Изменил: ramzes (11.03.2012 / 23:07)