我有一个字符串,其中包含在文本编辑器中组成的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>'
不知何故,我需要将媒体和文字分开,但我不允许更改内容在字符串中输入的方式。
理想情况下,我会将所有媒体限制在一个单独的字段中,但出于多种原因我无法做到这一点。
我尝试使用正则表达式来解决问题,但我无法让它工作。
我最接近的是剥离标签,但这并没有摆脱文字:
echo '<div class="media">'.strip_tags($sting, '<img><iframe>').'</div><br>';
echo '<div class="text">'.strip_tags($string, '<p><a><b><stong>').'</div>';
任何见解?那里可能有一个非常明确的解决方案..
答案 0 :(得分:0)
不确定媒体是否意味着src参数或标签类型的值,但是这里的正则表达式是:
// result will be in $matches[1][0]
preg_match_all( '/src=\"(.*)\"/sU', $string, $matches );
preg_match_all( '/<(img|iframe)\s/sU', $string, $matches );