function addmore($link,$name){
$link = str_replace('.php','',$link);
$link.='&rm='.rand(0,100);
return '<a href="'.$link.'">'.$name.'</a>';
}$preg_search = array(
'/\<a href=\"(.*?)\"\>(.*?)\<\/a\>/i',
);$preg_replace = array(
addmore('\1','\2'),
);$str='i am <a href="view.php?id=1">going to swimming</a>';echo '<BR>'.$str = preg_replace($preg_search, $preg_replace, $str);结果是view.php?id=1&rm=12而不是view?id=1&rm=12为何addmore里replace不到.php?谢谢

解决方案 »

  1.   

    function addmore($link,$name){
    $link = str_replace('.php','',$link);
    $link.='&rm='.rand(0,100);
    return '<a href="'.$link.'">'.$name.'</a>';
    }$preg_search = array(
    '/\<a href=\"(.*?)\"\>(.*?)\<\/a\>/ie',
    );$preg_replace = array(
    "addmore('\\1','\\2')"
    );$str='i am <a href="view.php?id=1">going to swimming</a>';echo '<BR>'.$str = htmlspecialchars(preg_replace($preg_search, $preg_replace, $str));
      

  2.   

    $preg_search = array(
    '/\<a href=\"(.*?)\.php\"\>(.*?)\<\/a\>/i',
    );