$str = '<a href="p.php?act=i">i</a>';$str .="<br>fdsfdsa<br>";
$str .= "<a href='m.php?act=i'>dan</a>";如何用正则替换成
$str = '<a href="p-i.html">i</a>';$str .= "<br>fdsfdsa<br>";
$str .= "<a href='m-i.html'>dan</a>";

解决方案 »

  1.   

    草写一个,未测
    <?php
    $str = '<a href="p.php?act=i">i</a>';
    $str .="<br/>fdsfdsa<br/>";
    $str .= "<a href='m.php?act=i'>dan</a>";echo preg_replace('/(<[^>]+href[\s\r\n]*=[\s\r\n]*)([\"\'])(\w+)(\.php\?act=)(\w+)(\\2>)/isU','\\1\\2\\3-\\5.html\\6',$str);
    ?>
      

  2.   

    谢谢楼上的
    可能我的问题没有说清楚,你的写法按照这个$str是正确的但是情况也有可能是这样$str = '<a href="p.php?act=i" target="_blank">i</a>';
    $str .="<br/>fdsfdsa<br/>";
    $str .= "window.location.href='m.php?act=i';";