У меня есть строка, содержащая 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>';
Какие-нибудь идеи? Там может быть действительно четкое решение.
Не был уверен, что по средствам массовой информации вы имели в виду значение параметра 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 );