PHP 从 html 中剥离 img 标签,返回数组中的 html 和图像

标签 php html

我需要编写一个函数,它接受一些 HTML,去除 img 标签并返回 html(无图像)。但是,我还需要保留 img(在一个数组中),以便我可以将它们单独输出到页面。

我对 php 几乎一窍不通,所以最好的方法是什么?

最佳答案

您需要熟悉 DOMDocument class .最好的方法是使用 DOMDocument 解析 HTML。 , 并找到所有 <img>使用 getElementsByTagName('img') 的标签.如果是图像的 src您所追求的属性,DOMDocument 可以返回这些属性并将其存储在数组中。

// HTML already parsed into $dom
$imgs = $dom->getElementsByTagName('img');
$img_src = array();

// Array of nodes to remove.
$to_remove = array();

foreach ($imgs as $img) {
  // Store the img src
  $img_src[] = $img->getAttribute('src');

  // Delete the node (I think this works)
  $to_remove[] = $img;
}

// Then remove all the nodes slated for deletion:
foreach ($to_remove as $node) {
  $dom->removeChild($img);
}

关于PHP 从 html 中剥离 img 标签,返回数组中的 html 和图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5274785/

相关文章:

PHP文件上传/下载安全

php - 使用 $_GET 更新 mysql 数据库中的多列

javascript - 单击事件不适用于使用 JQuery 导入文件

css - 多行跨度行为元素

javascript - CSS 和 HTML 用户界面问题

PHP - 使用命名空间\{Foo, Bar}?

php - 下载后重定向页面以更新mysql表

PHPUnit 用 stub 覆盖实际方法

javascript - 导出 Excel 表格

javascript - HTML Canvas 在调整大小后更新次数过多