$str='href="Table%2094.xml#9403.20.0015"<br/>';
$str = preg_replace('/Table.*xml#(.*)/', "htscode?code=\$1", $str);
echo $str;
这2个地方看不懂,谁帮解释下。

解决方案 »

  1.   

    就是匹配前面的正则内容,将 (.*) 中的内容替换到后面的 $1 处,因为后面是双引号,所以怕被 PHP 误识别为变量,因此加了个转义。当然,以下方法也正确:$str = preg_replace('/Table.*xml#(.*)/', 'htscode?code=$1', $str);$str = preg_replace('/Table.*xml#(.*)/', 'htscode?code=\1', $str);