if(preg_match('#^http://([a-z0-9])+\.baidu\.com#i',$match[1]))
{
return "<a href=\"$match[1]\" target=\"_blank\">$match[1]</a>";
}
elseif(preg_match('#^https://([a-z0-9])+\.tmall\.com#i',$match[1]))
{
return "<a isconvert=1 href=\"$match[1]\" target=\"_blank\">$match[1]</a>";
}
else
{
$match[1] = str_replace("http://","",base64_encode($match[1]));
return '<a href="/link/?url=' . $match[1] . '" rel="nofollow" target="_blank">' . base64_decode($match[1]) . '</a>';
}
为什么遇到xxx.tmall.com的不执行以下这段代码
return "<a isconvert=1 href=\"$match[1]\" target=\"_blank\">$match[1]</a>";
而是直接执行了
return '<a href="/link/?url=' . $match[1] . '" rel="nofollow" target="_blank">' . base64_decode($match[1]) . '</a>';
哪里写错了吗
先纠正一下 @丶錵染
天猫百度现在都用https了,可以打印一下 $match[1]看看,或者用如下正则替代
单看你这一小段代码,不需要用正则也基本可以满足需求
正则表达式写错了,#换为/