"/\<a href\=\"cate\.php\?id\=(\d+)(&page\=(\d+))?\"([^\>]*)\>/e"<a href="cate.php?id=4&page=4">请问这样匹配哪里有问题呢?我用CART测试可以匹配。但是一放到项目里就无法匹配了...

解决方案 »

  1.   

    <a href="cate.php?id=4&page=4">
    <a href='cate.php?id=4&page=4'>
    <a href=cate.php?id=4&page=4>
    <a href= "cate.php?id=4&page=4">
    <a href='cate.php?id=4&page=4'>
    <a href = cate.php?id=4&page=4>
    <a href = "cate.php?id=4&page=4">
    <a href = 'cate.php?id=4&page=4'>
    <a href = cate.php?id=4&page=4>
    ...
    都是合法的,你考虑到这些了吗?
      

  2.   

    楼上误会了。我是说不知道为什么"/\<a href\=\"cate\.php\?id\=(\d+)(&page\=(\d+))?\"([^\>]*)\>/e"无法匹配<a href="cate.php?id=4&page=4">
      

  3.   

    <?php
    $string = <<<STR
    <a href="cate.php?id=4&page=4">
    STR;
    preg_match("/\<a href\=\"cate\.php\?id\=(\d+)(&page\=(\d+))?\"([^\>]*)\>/e", $string, $matches);
    print_r($matches);
    ?>
    没有问题,可以匹配。