Мы новички в regex (preg_replace) в PHP, и у нас возникли небольшие проблемы с тем, чтобы заставить его делать именно то, что мы хотим.
У нас есть, например, HTML-код, подобный этому:
<h2><strong>Automatic Writing</strong> <strong>– A Conduit For An Entity From Another World?</strong></h2>
Мы хотим удалить все теги стилей внутри H2 (и даже соответствовать тегам H3 / H4 / H5).
Мы уже создали следующий код (мы интегрируемся с Wordpress):
function removebolding($content)
{
$content =
preg_replace('/(<h([1-6])[^>]*>)\s?<strong>(.*)?<\/strong>\s?(<\/h\2>)/', "$1$3$4", $content);
return $content;
}
add_filter('the_content', 'removebolding');
Это работает, однако удаляет только первый «сильный» тег - у нас остается:
<h2>Automatic Writing <strong>– A Conduit For An Entity From Another World?</strong></h2>
Как мы можем сопоставить / удалить все «сильные» теги?Кроме того, возможно, мы могли бы просто извлечь содержимое тегов заголовков, запустить функцию strip_tags и затем заменить на вывод?
Заранее благодарны за любую помощь, предложения и примеры кода.
Большое спасибо.