首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

求该结果的preg_replace的轮换写法

2013-04-21 
求该结果的preg_replace的替换写法$urlhttp://www.xxx.com/66/preg_replace(#^\/(\d{2,4})\/?$#,name/

求该结果的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/';
@preg_replace("#/(\d{2,4})/?$#e","\$t=array('name'=>'index.php','param'=>array('t'=>1,'id'=>$1))",strtolower($url));
print_r($t);
66Array
(
    [name] => index.php
    [param] => Array
        (
            [t] => 1
            [id] => 66
        )

)

[解决办法]
$url='http://www.xxx.com/66/';
$s= preg_replace("#\/(\d{2,4})\/?$#","/name/index.php?t=1&id=$1",strtolower($url));
$ar=parse_url($s);
$arr['name']=substr($ar['path'],strrpos($ar['path'],'/')+1);
parse_str($ar['query'],$t);
$arr['param']=$t;
print_r($arr);

热点排行