if ...elseif...else...这样写错了吗,为什么不执行呢?
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>';
哪里写错了吗
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
先纠正一下 @丶錵染
天猫百度现在都用https了,可以打印一下 $match[1]看看,或者用如下正则替代
单看你这一小段代码,不需要用正则也基本可以满足需求
正则表达式写错了,#换为/