Отделение медиа от текста с помощью PHP

0

У меня есть строка, содержащая html, составленный в текстовом редакторе. Что-то вроде:

$string ='<img src="http://example.com/image.jpg" alt="alt text" width="1200" height="1650" class="full">
Lorem ipsum <a href="example.com">ergo</a> ipsum';

Другие времена, такие как:

$string ='<iframe src="http://example.com/" width="1200" height="1650" class="full"></iframe>
<b>Lorem ipsum <a href="example.com">ergo</a> ipsum</b>'

Как-то мне нужно, чтобы медиа и текст были разделены, но мне не разрешено изменять способ ввода содержимого в строку.

В идеале я бы ограничил все носители в отдельном поле, но я не могу это сделать по нескольким причинам.

Я пытаюсь что-то с помощью regex работать, но я не могу заставить его работать.

Самое близкое, что я получил, было снятие тегов, но это не избавляет от текста:

echo '<div class="media">'.strip_tags($sting, '<img><iframe>').'</div><br>';
echo '<div class="text">'.strip_tags($string, '<p><a><b><stong>').'</div>';

Какие-нибудь идеи? Там может быть действительно четкое решение.

Теги:
media
element
text

1 ответ

0

Не был уверен, что по средствам массовой информации вы имели в виду значение параметра src или типа тега, но здесь regex для:

// result will be in $matches[1][0]
preg_match_all( '/src=\"(.*)\"/sU', $string, $matches ); 
preg_match_all( '/<(img|iframe)\s/sU', $string, $matches );

Ещё вопросы

Сообщество Overcoder
Наверх
Меню