/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/

解决方案 »

  1.   

    $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/
      

  2.   


    非常感谢 每次都是你帮我解决到问题 谢谢
    顺便帮我看下这个吧
    http://bbs.csdn.net/topics/390575116
      

  3.   


    请教一下
    <a title="总数">&nbsp;<b>5</b> </a>&nbsp;&nbsp;<a href="/e/tags/index.php?page=0&amp;tagname=关于友谊珍贵的格言&amp;line=3&amp;tempid=13">首页</a>&nbsp;<a href="/e/tags/index.php?page=0&amp;tagname=关于友谊珍贵的格言&amp;line=3&amp;tempid=13">上一页</a>&nbsp;<a href="/e/tags/index.php?page=0&amp;tagname=关于友谊珍贵的格言&amp;line=3&amp;tempid=13">1</a>&nbsp;<b>2</b>
    为什么这一段替换不掉呢?