Я пытаюсь отделить изображения и видео (vimeo) от текстового содержимого моего сообщения в проекте WordPress, используя preg_replace
.Отфильтровываются только изображения, но не видео iframe.
<div class="post_text">
<?php
$content = get_the_content();
$content = preg_replace('/<img[^>]+\>/i', '', $content);
$content = preg_replace('/<iframe[^>]+>.*?<\/iframe>/', '', $content);
$content = apply_filters('the_content', $content);
echo $content;
?>
</div>
Код iframe для замены (не работает):
<iframe src="https://player.vimeo.com/video/261467359?app_id=122963" width="500" height="281" frameborder="0" title="Mind your Step" allow="autoplay; fullscreen" allowfullscreen></iframe>
Код изображения для замены (работает):
<img src="http://localhost:8888/wp-content/uploads/2019/01/2018_Ichni_NiakaOngChrapana_4-1024x682.jpg" alt="" class="wp-image-15" srcset="http://localhost:8888/wp-content/uploads/2019/01/2018_Ichni_NiakaOngChrapana_4-1024x682.jpg 1024w, http://localhost:8888/wp-content/uploads/2019/01/2018_Ichni_NiakaOngChrapana_4-300x200.jpg 300w, http://localhost:8888/wp-content/uploads/2019/01/2018_Ichni_NiakaOngChrapana_4-768x512.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" />
I 'мы проверили регулярное выражение, используя живой веб-сайт регулярного выражения, и оно работает;он просто не работает, когда реализован в коде WordPress.Видео по-прежнему отображается как обычно.И странно, что он отлично работает, чтобы отфильтровать все изображения.