@mike17

Как регулярным выражением удалить из контента все картинки вместе с ссылками?

Здравствуйте!

подскажите пожалуйста как через functions.php в Wordpress удалить из контента:
1 все картинки
<img src="image.jpg">.
2 и ссылки-картинки вида
<a href="url"><img src="image.jpg"></a>
Вот нашел готовую функцию которая удаляет ссылки из картинок. Как переделать регулярное выражение функции чтобы:
1 она удаляла ссылки вместе с картинками
2 картинки без ссылок тоже удалялись (таки также иногда встречаются на сайте)

add_filter( 'the_content', 'attachment_image_link_remove_filter' );

function attachment_image_link_remove_filter( $content ) {
    $content =
        preg_replace(
            array('{<a(.*?)(wp-att|wp-content\/uploads)[^>]*><img}',
                '{ wp-image-[0-9]*" /></a>}'),
            array('<img','" />'),
            $content
        );
    return $content;
}


Спасибо!
  • Вопрос задан
  • 429 просмотров
Решения вопроса 1
@dodo512
$content =
        preg_replace(
            array('{<a(.*?)(wp-att|wp-content\/uploads)[^>]*><img}',
                '{ wp-image-[0-9]*" /></a>}'),
            array('<img','" />'),
            $content
        );

Заменить на:
$content = preg_replace('~(<a\b[^>]*>)?<img[^>]*>(</a>)?~i', '', $content);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы