添加时preg_replace无法正常工作

时间:2012-04-02 22:25:08

标签: php replace

我需要这样做

替换<a href="forum.php?id=1">title</a><a href="f-1-title.html">title</a>

我做这个patren

$prased_template=preg_replace('#<a href="forum.php?id=(.*?)">(.+?)</a>@','test=\\3',$template);

但它不起作用,我需要获取ID和标题以将其置于第二个值

怎么样!

2 个答案:

答案 0 :(得分:0)

$replaced = preg_replace('#<a href="forum.php\?id=(\d+)">([^<]+)</a>#i','<a href="f-$1-$2.html">$2</a>', $template);

答案 1 :(得分:0)

你的正则表达式有几个问题。首先,分隔符不匹配。您使用#打开,但使用@关闭;这不行。坚持一个。您也没有转义字符串中的其他字符。使用它,它应该工作:

#<a href="forum\.php\?id=(.*?)">(.+?)</a>#