1楼的怎么测试都不可能成功,因为匹配模式都没有加修饰符‘e’,不可以将替换字符串当做php代码一样计算出结果。如果按照一楼的写法,应该写成:$newstr=preg_replace('/(.+)<\/a>/e','\\2<\/a>',$sourcestr);
$newstr = preg_replace("/a<\/a>/","a",$sourcestr);我没开编辑器测试,可能?需要转义,试试吧。