preg_replace替换整个字符串

时间:2010-07-06 20:49:15

标签: php preg-replace

我的preg_replace替换了我的整个字符串,而不是表达式所适合的位。

代码:

http://beta.yapaste.com/bd

这就是我要替换的内容:

<table id=\"post24100391\" style=\"width: 100%;\" class=\"p4\" >

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

是.....正则表达式匹配整个表....它将用$ replace替换整个字符串。

你要替换的是什么?

您可以使用捕获替换...

preg_replace("/(<table.*?>).*(<\/table>)/","\$1$replace\$2},$str);

或者你可以使用部件周围的非捕捉组来取代......

e.g。

preg_replace("/(?:<table.*?>).*(?:<\/table>)/",$replace,$str) //not tested, though

编辑以响应OP更改

preg_replace("/<table.*?>/",$replace,$str);

您想使用延迟捕获*?