как очистить все не-JPG IMG теги из строки

Как очистить все теги из строки HTML из файлов, которые не имеют расширения jpg или gif в PHP

Я должен удалить все теги img из строки, где расширение src не является jpg или gif.

Пока что попробовал:

$dom=new domDocument;
$dom->loadHTML($content);
$dom->preserveWhiteSpace=false;
$images=$dom->getElementsByTagName('img');
foreach($images as $image)
{
$ea=array('gif','png','bmp','jpg','jpeg');
$ext=pathinfo($image->getAttribute('src'), PATHINFO_EXTENSION);
if(!in_array(strtolower($ext),$ea))
{
$image->removeAttribute('src');
}
}
$cleanc=$dom->saveHTML();

но это медленно, и это только удаляет источник.

-2

Решение

Ну, DOMDocument не будет особенно быстрым. Если вы хотите удалить изображение, а не только его src, попробуйте:

if(!in_array(strtolower($ext),$ea))
{
$parent = $image->->parentNode;
$parent->removeChild($image);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]