К сожалению, ковыряться в WordPress с DOMDocument у меня (да и у других, думаю, тоже), нет никакого желания. PHP стерпит всё. Обработать любое регулярное выражение займёт микросекунды.
К сожалению, var_dump. $matches мне не подходит, так как в WordPress, мне нужно вернуть именно обработанный $content.
Как допилить вот это решение?
preg_match_all( "/(?<=<code>).*?(?=<\/code>)/uis", $content, $matches );
foreach($matches[0] as $one) {
$obr = htmlspecialchars( $one[0], ENT_QUOTES, 'UTF-8' );
$content = str_replace( $one[0], $obr, $content);
}
</code>