PHP:删除除第一个之外的所有<img/>标记

时间:2014-07-23 13:09:29

标签: php html strip-tags

我有此代码删除除<img><p>以外的所有HTML代码:

<?php
        $item->core_body =strip_tags( $item->core_body, '<img><p>');
?>

由于我的$item->core_body包含多个<img>标记,因此我想添加另一个条件:我只想保留第一个<img>标记并删除以下所有标记。

基于答案:

<?php
                    $item->core_body =str_replace('<img','<***',$item->core_body,1);
                    $item->core_body =strip_tags( $item->core_body, '<img><p>');
                    $item->core_body =str_replace('<***','<img',$item->core_body,1);
?>

1 个答案:

答案 0 :(得分:3)

最简单的方法:将第一个img-tag替换为其他内容,删除其余的图片代码,将第一个代码替换为&#39; img&#39;。

这样的东西
$item= preg_replace('/\<img/','****',$item,1);
$item= strip_tags( $item, '<p>');
$item= str_replace('****','<img',$item);