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

求一段php正则轮换规则

2013-09-06 
求一段php正则替换规则/e/tags/index.php?page23&tagname%B9%D8%D3%DA%D3%D1%D2%EA%D5%E4%B9%F3%B5%C4%B

求一段php正则替换规则
/e/tags/index.php?page=23&tagname=%B9%D8%D3%DA%D3%D1%D2%EA%D5%E4%B9%F3%B5%C4%B8%F1%D1%D4&line=3&tempid=13

用preg_replace()把这样的替换成
/tag-%B9%D8%D3%DA%D3%D1%D2%EA%D5%E4%B9%F3%B5%C4%B8%F1%D1%D4/23/

当page=0的时候替换成
/tag-%B9%D8%D3%DA%D3%D1%D2%EA%D5%E4%B9%F3%B5%C4%B8%F1%D1%D4/
[解决办法]

$str="/e/tags/index.php?page=0&tagname=%B9%D8%D3%DA%D3%D1%D2%EA%D5%E4%B9%F3%B5%C4%B8%F1%D1%D4&line=3&tempid=13";
$s= preg_replace_callback(
     '#.+?page=(\d+)&tagname=([^&]+)&.+#',
     create_function(
            '$matches',
            'return "/tag-$matches[2]/". ($matches[1] ? $matches[1]."/" : "");'
        ),
$str
);
echo $s;

/tag-%B9%D8%D3%DA%D3%D1%D2%EA%D5%E4%B9%F3%B5%C4%B8%F1%D1%D4/

热点排行