怎么将 <a href="dd.html" target="_blank">ddd</a>替换成<a href="dd.php?url=dd.html">ddd</a>求解

解决方案 »

  1.   

    $str = '<a href="dd.html" target="_blank">ddd</a>';
    $match = "/(<a\s+.*?href=\")(.*?)(\".*)/i";
    $str = preg_replace($match, "\\1\\2?\\2\\3", $str);
    echo $str;
      

  2.   

    上一个有问题$str = '<a href="dd.html" target="_blank">ddd</a>';
    $match = "/(<a\s+.*?href=\")(.*?)(\")([^>]*?)(>.*)/i";
    $str = preg_replace($match, "\\1\\2?url=\\2\\3\\5", $str);
    echo $str;
      

  3.   


    $str = '<a href="dd.html" target="_blank">ddd</a>';
     preg_match('/<a[^>]+href\s*=\s*[\'"]([^\'"]*)[\'"][^>]*>([^<\/a>]*)/i',$str,$matches);
     echo '<a href="dd.php?url=' . $matches[1] . '">' . $matches[2] . '</a>';
      

  4.   

    <a href="http://wori/et/man.htm?TBG=40980.71104.24&amp;cat=50010158&amp;isprepay=1&amp;random=false&amp;viewIndex=1&amp;yp4p_page=0&amp;commend=all&amp;atype=b&amp;style=grid&amp;olu=yes&amp;isnew=2&amp;smc=1">夹克</a> 没有target 属性 属性怎么弄呢?
      

  5.   

    $str = '<a href="<a href="http://wori/et/man.htm?TBG=40980.71104.24&amp; cat=50010158&amp;isprepay=1&amp;random=false&amp; viewIndex=1&amp;yp4p_page=0&amp;commend=all&amp;atype=b& amp;style=grid&amp;olu=yes&amp;isnew=2&amp;smc=1">夹克< /a>" target="_blank">ddd</a>';
    $match = "/(<a\s+.*?href=\")(.*?)(\".*)/i";
    $str = preg_replace($match, "\\1\\2?\\2\\3", $str);
    echo $str;
     这样的话不好使 TT
      

  6.   

    你把你的  $str 整理一下贴出来   你那个太乱了   而且还是转义过的
      

  7.   

    不好意思写错了
    $str = '<a href="http://www.baidu.com">abab</a><a href="http://www.baidu.com">dsfs</a><a href="http://www.baidu.com">dsffw</a>';
    $match = "/(<a\s+.*?href=\")(.*?)(\".*)/i";
    $str = preg_replace($match, "\\1index.php?tblurl=\\2\\3", $str);
    echo $str;
    这样的话第二个开始就不好使了
      

  8.   


    $str = '<a href="http://www.baidu.com">abab</a><a href="http://www.baidu.com">dsfs</a><a href="http://www.baidu.com">dsffw</a>';
    $match = "/(<a\s+.*?href=\")(.*?)(\")/i";
    $str = preg_replace($match, "\\1index.php?tblurl=\\2\\3", $str);
    echo $str;
      

  9.   

    $str = '<h5><a href="http://www.baidu.com/">fassion</a></h5><span><a class="h" href="http://www.baidu.com/">girl</a>&nbsp;<a href="http://www.baidu.com/">boy</a></span>';
    $match = "/(<a\s+.*?href=\")(.*?)(\".*)/i";
    $str = preg_replace($match, "\\1index.php?tblurl=\\2\\3", $str);
    echo $str;
    这样的话又不行了 - -; 麻烦大家了;;
      

  10.   

    $str = '<h5><a href="http://www.baidu.com/">fassion</a></h5><span><a class="h" href="http://www.baidu.com/">girl</a>&nbsp;<a href="http://www.baidu.com/">boy</a></span>';
    $match = "/(<a\s+.*?href=\")(.*?)(\")([^>]*?>)/i";
    $str = preg_replace($match, "\\1index.php?tblurl=\\2\\3\\4", $str);
    echo $str;
      

  11.   

    这个就是有or没有target的
    <?php
    /*
     * @Date 2011-1-14
     * @Author h2ero
     * Email [email protected]
     * Blog blog.h2ero.cn
     */
     $str='<a href="dd.html"target="_blank">ddd</a>';
     $pattern='/<a (target="(.*)")?href="(.*)\.(.*)"(target="(.*)")>(.*)<\/a>/i';
     $replace='<a href="\\3.php?url=\\3.\\4"\\5>\\7</a>';
     $result=preg_replace($pattern,$replace,$str);
     echo $result;
    ?>