Файл: my.net.ru/system/functions/links.php
Строк: 28
<?php
function links2($arr) {
if (url_request_validate('/admin') == false){
$set = null;
}else{
$set = 'ajax="no"';
}
if (preg_match('#^'.SCHEME.preg_quote(HTTP_HOST).'#', $arr[2]) || !preg_match('#://#', $arr[2])){
return '<a href="'.url_check_validate($arr[1]).'" '.$set.'>'.tabs($arr[2]).'</a>';
}else{
return '<a href="/url/?data='.base64_encode(html_entity_decode(url_check_validate($arr[1]))).'">'.tabs($arr[2]).'</a>';
}
}
function links3($arr){
if (url_request_validate('/admin') == false){
$set = null;
}else{
$set = 'ajax="no"';
}
if (preg_match('#^'.SCHEME.preg_quote(HTTP_HOST).'#', $arr[1])){
return '<a href="'.url_check_validate($arr[1]).'" '.$set.'>'.url_check_validate($arr[1]).'</a>';
}else{
return '<a href="/url/?data='.base64_encode(html_entity_decode(url_check_validate($arr[1]))).'">'.url_check_validate($arr[1]).'</a>';
}
}
function links($msg) {
$pt = "/[url=((?!javascript:|data:|document.cookie).+)](.+)[/url]/isU";
if (preg_match($pt, $msg)){
$msg = preg_replace_callback($pt, 'links2', $msg);
}else{
if (strpos($msg, 'style') === false && strpos($msg, 'img') === false && strpos($msg, 'src') === false){
$msg = preg_replace_callback('/(?!img)((?:http|https|ftp|ftps)://[a-zA-Z0-9-.]+.[a-zA-Z]{2,3}(?:/S*)?)/', 'links3', $msg);
}
}
return $msg;
}