function u_decode($uri) {
preg_match('/^\/([az09_]+)_([09af]+)x([09af]+).html$/', $uri, $match);
if (!$match) return null;
$date = base_convert(strval($match[2]), 16, 10);
$id = base_convert(strval($match[3]), 16, 10);
$id = str_pad(strval($id), 6, '0', STR_PAD_LEFT);
return 'http://'.$match[1].'.abc.com/a/'.$date.'/'.$id.'.htm';
}
======================求助,
增加一个判断输出
如果$match[1]=news
输出return 'https://'.$match[1].'.abc.com/a/'.$date.'/'.$id.'.htm';
其他
输出return 'http://'.$match[1].'.abc.com/a/'.$date.'/'.$id.'.htm';
区别在于输出:https与http的不同.
谢谢!
新注册用户,无金币悬赏.不胜感激!!!
直接使用if-else分支语法?
return 'http'.($match[1]=='news'?'s':'').'://'.$match[1].'.abc.com/a/'.$date.'/'.$id.'.htm';
你之前的if判断内容我就不写了
if(!$match){
}elseif($match == 'news'){
return 'https://'.$match[1].'.abc.com/a/'.$date.'/'.$id.'.htm';
}else{
return 'http://'.$match[1].'.abc.com/a/'.$date.'/'.$id.'.htm';
}
谢谢3位朋友的帮忙,1,2种方法,问题解决了。
第3种,不知道哪里,我修改不正确,无法使用。
我自己一直修改测试,不正确,问题主要出在$match == 'news',这里需要==,我只使用一个=。
再次谢谢大家!