2009-09-30 116 views
2

我试图从网站中删除一些弃用的代码。 谁能告诉我preg相当于PHP - 用preg替换ereg

ereg_replace("<b>","<strong>",$content); 

谢谢。

回答

9

似乎根本没有必要使用正则表达式。

简单str_replace会做:

$cleaned = str_replace ('<b>', '<strong>', $unCleaned); 

如果您需要更复杂的替代品,例如检查的属性,你可以这样做:

$cleaned = preg_replace('/<b(\s[^>]*)?>/', '<strong\\1>', $unCleaned); 

但是,这绝不是完美的;像<div title="foo->bar"></div>会破坏正则表达式。

+0

您的当前表达式将替换以'b'开头的任何标签(如'base','body'或'br'),而不仅仅是'b'标签。你应该使用'/ ] *)?> /' – 2009-09-30 11:29:05

3

一个PCRE相当于你ERE正则表达式是:

preg_match("/<b>/", "<strong>", $content) 

但作为Jacco已经指出的那样,只要你想更换一个恒定值,你并不需要一个正则表达式的。