如何从字符串中清除所有非 jpg img 标签
how to clear all non-jpg img tags from a string
如何从 PHP
中没有 jpg 或 gif 扩展名的文件中清除 HTML 字符串中的所有标签
我必须从字符串中删除所有 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();
但这很慢,而且只会删除源。
好吧,DOMDocument 不会特别快。如果你想删除图像而不仅仅是它的 src,请尝试:
if(!in_array(strtolower($ext),$ea))
{
$parent = $image->->parentNode;
$parent->removeChild($image);
}
如何从 PHP
中没有 jpg 或 gif 扩展名的文件中清除 HTML 字符串中的所有标签我必须从字符串中删除所有 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();
但这很慢,而且只会删除源。
好吧,DOMDocument 不会特别快。如果你想删除图像而不仅仅是它的 src,请尝试:
if(!in_array(strtolower($ext),$ea))
{
$parent = $image->->parentNode;
$parent->removeChild($image);
}