$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;把href 改成 tblurl

解决方案 »

  1.   

    改变成<h5><a tblurl="http://www.baidu.com/">fassion</a></h5><span><a class="h" tblurl="http://www.baidu.com/">girl</a>&nbsp;<a tblurl="http://www.baidu.com/">boy</a></span>
      

  2.   

    改变成<h5><a tblurl="http://www.baidu.com/">fassion</a></h5><span><a class="h" tblurl="http://www.baidu.com/">girl</a>&nbsp;<a tblurl="http://www.baidu.com/">boy</a></span>
      

  3.   

    改变成tyjkmhg<h5><a tblurl="http://www.baidu.com/">fassion</a></h5><span><a class="h" tblurl="http://www.baidu.com/">girl</a>&nbsp;<a tblurl="http://www.baidu.com/">boy</a></span>
      

  4.   

    现在能
    <a href="index.php?tblurl=http://www.baidu.com/">fassion</a>
    改变成<a tblurl="index.php?tblurl=http://www.baidu.com/">fassion</a>
      

  5.   

    \bhref(?==)  replace   tblurl这貌似都不需要写正则的吧
      

  6.   


    $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\s*=\s*([^\"]*?)(\")(.*?)(\")/i";
    $str = preg_replace($match, "\\1\\2tblurl=\\3\\4\\5\\6", $str);
    echo $str;
      

  7.   

    <a href="http://www.baidu.com/"></a>
    一次性改变成
    <a tblurl="index.php?tblurl=http://www.baidu.com/">fassion</a>
      

  8.   

    $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\s*=\s*(\")([^\"]*?)(\")/i";
    $str = preg_replace($match, "\\1\\2tblurl=\\3index.php?tblurl=\\4\\5", $str);
    echo $str;
      

  9.   

    谢谢 lijpwsw解答 ^ ^