PHP - Замена ereg на preg


Я пытаюсь удалить какой-то устаревший код с сайта. Может ли кто-нибудь сказать мне эквивалент preg

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

Спасибо.

Author: Francis Laclé, 2009-09-30

2 answers

Похоже, что в регулярных выражениях вообще нет необходимости.

Простое str_replace сделало бы:

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

Если вам нужны более сложные замены, например, проверка атрибутов, вы можете сделать:

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

Но это ни в коем случае не идеально; что-то вроде <div title="foo->bar"></div> нарушило бы регулярное выражение.

 9
Author: Jacco, 2009-10-01 10:18:18

PCRE, эквивалентный вашему регулярному выражению, будет следующим:

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

Но, как уже отметил Джакко, вам вообще не нужно регулярное выражение, так как вы хотите заменить постоянное значение.

 3
Author: Gumbo, 2009-09-30 11:04:43