2009-09-30 117 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已經指出的那樣,只要你想更換一個恆定值,你並不需要一個正則表達式的。