求该结果的preg_replace的轮换写法

WBOY
发布: 2016-06-13 12:48:37
原创
1051 人浏览过

求该结果的preg_replace的替换写法
$url=http://www.xxx.com/66/
preg_replace("#^\/(\d{2,4})\/?$#","name/index.php?t=1&id=$1",strtolower($url));
通过以上我能得到一个重写的网址:name/index.php?t=1&sid=66 

我如何能直接通过一次正则替换,替换出一个数组:如下?
array(
      'name'=>index.php,
      'param'=>array('t'=>1,'id'=66)
     );


------解决方案--------------------
一步不行,需要自行分析形成数组。
------解决方案--------------------
$url = 'http://www.xxx.com/66/';<br />
@preg_replace("#/(\d{2,4})/?$#e","\$t=array('name'=>'index.php','param'=>array('t'=>1,'id'=>$1))",strtolower($url));<br />
print_r($t);<br />
登录后复制
66Array
(
[name] => index.php
[param] => Array
(
[t] => 1
[id] => 66
)

)

------解决方案--------------------
$url='http://www.xxx.com/66/';<br />
$s= preg_replace("#\/(\d{2,4})\/?$#","/name/index.php?t=1&id=$1",strtolower($url));<br />
$ar=parse_url($s);<br />
$arr['name']=substr($ar['path'],strrpos($ar['path'],'/')+1);<br />
parse_str($ar['query'],$t);<br />
$arr['param']=$t;<br />
print_r($arr);
登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!