使用nodeValue从domelement打印html内容

2023-12-21

我有 html 格式的图像。我将其解析为 DOMDocument 并开始使用它......

$doc = new DOMDocument();
$doc->loadHTML($article_header);

$imgs = $doc->getElementsByTagName('img');
foreach ($imgs as $img) {
$container = $img->parentNode;

if ($container->tagName != "a") { 
    $image_inside=utf8_decode($img->nodeValue);
    echo "3".$image_inside;
    die;
}
}

这段代码工作正常,第 3 行获取图像。第 6 行知道这个“img”标签上方没有“a”标签,第 8 行必须打印出我的初始图像。但问题是我只看到“3”,没有图像标签等......

我确实检查了元素,但什么也没有。刚刚“3”出来了。为什么我无法打印图像?


你可以使用:

DOMDocument::saveXML($img);

来自 PHP 文档保存 XML() http://www.php.net/manual/en/domdocument.savexml.php.

$doc = new DOMDocument();
$doc->loadHTML($article_header);

$imgs = $doc->getElementsByTagName('img');
foreach ($imgs as $img) {
    $container = $img->parentNode;

    if ($container->tagName != "a") { 
       echo utf8_decode($doc->saveXML($img));
       die;
    }
}

如果您使用 PHP 5.3.6,您可以使用(来自如何返回DOMDocument的外部html? https://stackoverflow.com/questions/5404941/php-domdocument-outerhtml-for-element)

$doc->saveHtml($img);

请注意链接问题中提到的警告:

(...) 使用 saveXml(),但这会 创建符合 XML 的标记。在里面 的情况<a>(<img>)元素,不应该 但这是一个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用nodeValue从domelement打印html内容 的相关文章

  • 递归获取数组的键并创建下划线分隔的字符串

    现在我得到了一个包含某种信息的数组 我需要从中创建一个表 例如 Student Address StreetAddress gt Some Street StreetName gt Some Name Marks1 gt 100 Marks
  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • 如何从 Laravel 中的表中选择所有列名称?

    我试图从表中获取所有列名Teller 功能 public function getTableColumns tables return DB select DB raw SELECT COLUMN NAME DATA TYPE COLUMN
  • 当数据验证失败时保留表单字段中的值

    我在弄清楚验证失败时如何保留用户数据时遇到问题 我对 PHP 有点陌生 所以我的逻辑可能会犯一些巨大的错误 目前 如果验证失败 所有字段都会被清除 并且 Post 数据也会消失 这是一些代码 假设用户输入无效电子邮件 我希望保留 名称 字段
  • 在 php 中为类自动生成 getter 和 setter 的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我经常创建一个包含一些私有变量的类 当设置此类的实例时 应该可以使用 getter 和 setter 填充该类的所有变量 有没有一种简单的方法可
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • Woocommerce 让产品显示在存档页面中

    我正在尝试让所有产品显示在我商店的存档页面中 我想知道他们的id我正在使用我的一个钩子 它在 wp head 上运行并检查 if is product category 我想以某种方式访问 产品的查询并获取它们的 ID if is prod
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • 蛋糕控制台 2.2.1:烘焙错误

    运行 MAMP 的 OSX 机器 CakePHP 2 2 1 已正确安装和配置 这意味着当我浏览到 Index php 文件时 所有绿色条都显示出来 我已经完成了博客教程 并且正在开发我的第二个应用程序 其中脚手架已启动并运行 现在我第一次
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • 为什么 iconv 在 php:7.4-fpm-alpine docker 中返回空字符串

    给出以下代码
  • PHP 脚本可以在终端中运行,但不能在浏览器中运行

    我正在尝试执行exec命令 但我遇到了问题 当我运行以下代码时 当我通过浏览器运行它时它不起作用 但如果我把输出 str将其复制并粘贴到终端中 它工作得很好 造成这种情况的原因是什么 我该如何解决 目前我正在运行localhost php
  • 在 PHP 中使用 phpseclib 时出现 RSA 问题

    我正在尝试在 phpseclib 中使用 RSA 实现 我认为在函数中执行一次代码并重新使用该函数会更容易 当我尝试向代码发送短信时 我收到一条错误消息 提示 解密错误 测试还让我意识到每次代码运行时密文都是不同的 所以我显然在那里做错了什
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • 表单提交后如何保留选择字段中的选定值?

    我有一个用于将票证上传到数据库的主页 我有一个选择字段 我想保留用户在提交表单之前选择的值 但它没有发生 这是我选择字段的代码
  • Doctrine EntityManager 清除嵌套实体中的方法

    我想用学说批量插入处理 http doctrine orm readthedocs org en latest reference batch processing html为了优化大量实体的插入 问题出在 Clear 方法上 它表示此方法
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex

随机推荐

  • 删除数据网格行 (WPF)

    应用程序的主窗口有数据网格 它是从数据库填充的 从数据表绑定数据网格 数据网格有 3 列
  • AWS Code Commit Slack 集成 - 显示作者和提交详细信息

    我刚刚设置了 AWS codecommit 的 Slack 集成 我只收到存储库名称和分支 另外我还想知道是谁做出了这个提交和提交消息 我确实尝试设置输入变压器规则 现在它显示了 Amazon EventBridge 中的两个角色 我在下面
  • jQuery UI 可排序在 iPAD 中不起作用

    我正在使用 jquery UI 可排序功能 这在浏览器中运行良好 但在 iPAD 等触摸设备中 它不起作用 下面是我正在使用的代码
  • 如何设置JTable中特定单元格的值?

    我只是想知道如何update specific cell in JTable 就像我想将单元格 1 1 设置为具有值Test Value 我的代码是这样的 但对我不起作用 String s Test Value tableName setV
  • 在 Blackberry 10 应用程序中禁用网络安全会产生什么影响?

    In 另一个问题 https stackoverflow com q 17419494 527559处理 blackberry10 中拒绝跨源 XHR 调用的错误 建议通过禁用网络安全来解决该问题 但禁用网络安全到底意味着什么 如果我使用这
  • 快速合并 AAsset-视频数组

    我想合并 AVAsset arrayVideos成一个视频并将其保存在相机胶卷中 Raywenderlich com 有一个很棒的tutorial https www raywenderlich com 94404 play record
  • Java 应用程序在用户闲置 10 分钟后导致屏幕显示无响应

    我编写了一个 Java 应用程序 允许用户编写鼠标 键盘输入脚本 JMacro http jmacro org 链接不重要 仅供好奇 我个人使用该应用程序在夜间睡觉时自动执行在线游戏中的角色动作 不幸的是 我早上总是回到电脑前 发现它没有反
  • Google 地图 iOS API 密钥不起作用

    我有一个简单的 iOS 应用程序 我正在其中集成 Google 地图 但是 当显示我的地图视图时 我提供的 API 密钥会导致出现以下几条错误消息 ClientParametersRequest failed 3 attempts rema
  • 在C++中设置本地环境变量

    如何在 C 中设置环境变量 他们不需要保留过去的程序执行 它们只需要在当前进程中可见 偏好与平台无关 但对于我的问题 只需要在 Win32 64 上工作 Thanks NAME putenv change or add an environ
  • 将多行合并为一行,多对多

    使用 SQL Server 我有以下表格 数据 CUS 访问 Cus ID Cus Vis ID 1 01 1 02 2 01 and CUS EVENT Cus Event ID Cus ID Cus Vis ID 001 1 01 00
  • 将巨大的 40000 页 pdf 拆分为单页,itextsharp,内存不足异常

    我收到了包含大量数据的巨大 PDF 文件 目前的 PDF 大小为 350 MB 大约有 40000 页 当然 如果能得到更小的 PDF 就好了 但这就是我现在必须处理的 我可以在 acrobat reader 中打开它 加载时会有一些延迟
  • jQuery 和伪元素

    我尝试动态更改 CSS 中定义的元素的位置 after 使用这个 function div after css top 20px 但这不起作用 有什么方法可以改变位置吗 你不能 内容创建者 after or before不是 DOM 的一部
  • 如何使用 docker-compose 而不是使用 docker 桥从 docker 容器连接到 localhost:9092

    我正在我的上运行 Kafka 服务器本地机器在端口 9092 上 我正在运行一项服务使用 docker compose 的 docker 容器需要向kafka服务器发送消息 我尝试使用 localhost 和 IP 在服务代码中编写我的生产
  • 如何生成表示 rrule 对象的人类可读字符串?

    我的应用程序允许用户定义对象的调度 并将它们存储为 rrule 我需要列出这些对象并显示类似 每日下午 4 30 的内容 有什么可用的东西可以 漂亮地格式化 rrule 实例吗 您只需提供一个 str 方法 每当需要将对象呈现为字符串时就会
  • SQLite 返回日期超过一周的记录

    我正在为图书库制作一个程序 在 sqlite 数据库中有一个图书表 其中包括该书上次取出的日期 我需要一个查询来显示过期的书籍 到目前为止我的代码如下 def findOverdueBooks event findRecords c exe
  • NuxtJS分布式静态页面生成

    有没有办法将静态页面生成过程拆分到多台机器上 我目前正在使用 NuxtJS 静态生成约 150k 页面 生成这些页面需要相当长的时间 约 1 小时 如果您已经在使用有效负载密钥 https nuxtjs org docs configura
  • 如何读取PHP中的注释块?

    我正在做一些自制的自动化文档 因为我有一个布局不是很标准的代码库 我想知道最好的方法是读取 PHP 文件并获取注释块的内容 我能想到的唯一方法是打开文件并逐行读取它 但我认为也许有一些内置的魔法可以为我解析文档 类似于反射函数 每个文件的基
  • Android:使用 1 个活动的主/详细流程(双窗格)

    据报道安卓指南 http developer android com guide practices tablets and handsets html 双面板可以通过两种方式实现 多个片段 one活动 多个片段 multiple活动 我正
  • 在 Visual Studio 2015 中使用 v90 (VS2008) 平台工具集

    是否可以 以及如何 使用 VS2015 IDE 使用编译器 链接器 STL 以及 VS2008 附带的所有其他内容来构建本机 C 项目 我想做的事情叫做 C 本机多目标 众所周知 例如VS2012 允许对 C 项目使用 VS2008 v90
  • 使用nodeValue从domelement打印html内容

    我有 html 格式的图像 我将其解析为 DOMDocument 并开始使用它 doc new DOMDocument doc gt loadHTML article header imgs doc gt getElementsByTagN