通过标签名称获取多个元素并在循环中检查元素标签以回显它

2023-11-23

这是有效的代码示例

$doc->loadHTML($article_header);
$imgs = $doc->getElementsByTagName('img');
foreach ($imgs as $img) {

$imgs取自$doc带有标签名称的元素img然后我做一些操作。

现在我想 getElementsByTagName > img OR iframe,然后使用 $img 检查这是哪个元素,并回显它是否是 iframe 或 img。

如果可能的话请修改我的代码。


您可以在 DOMDocument 上使用 XPath,如下所示:

$doc->loadHTML($article_header);
$xpath = new DOMXpath($doc);

$imagesAndIframes = $xpath->query('//img | //iframe');

$length = $imagesAndIframes->length;
for ($i = 0; $i < $length; $i++) {
    $element = $imagesAndIframes->item($i);

    if ($element->tagName == 'img') {
        echo 'img';
    } else {
        echo 'iframe';
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过标签名称获取多个元素并在循环中检查元素标签以回显它 的相关文章

  • bash.sh 运行 cron 的权限被拒绝

    如何在这里使用 bash 脚本运行 cron 我做了如下操作 这里有错误 我想知道如何在 ubuntu 中做到这一点 我现在对它感到震惊 bash sh 文件 bin bash cd var www Controller usr bin p
  • Doctrine 模型的默认排序属性

    我想知道是否有办法声明我的学说模型的默认顺序 e g 我有一个work模型并且它有photos 当我加载作品时 与其关联的所有照片都会加载到 work gt photos 当我显示它们时 它们是按 ID 排序的 在另一个字段上声明默认顺序或
  • 无法使用 javascript 建立与安全 Websocket 服务器的连接

    我的开发环境是这样的 操作系统 微软Windows 10 PHP 框架 Laravel 8 0 PHP 版本 7 4 Websocket 服务器 cboden ratchet 0 4 3 WAMP 服务器 3 2 0 Apache 2 4
  • 如何找到数组中的最小数字并返回该数组的主索引?

    我有一个如下所示的数组 我想找到 diff 索引中数字最小的数组 所以在这种情况下 我想取回数组 7 我需要的只是数组编号 即 7 而不是任何其他信息 我知道我可以使用 array column 轻松找到最小的数字 但如何返回整个数组索引
  • 将变量从 PHP 发送到 Javascript

    我在两个单独的文件中有以下代码 其中一个是 javascript 另一个是 php JavaScript xmlhttp new XMLHttpRequest xmlhttp onreadystatechange function if t
  • 如何在 jQuery.knob 中添加值后缀

    我有问题jQuery knob http anthonyterrien com knob 我需要添加一个Sufixx至旋钮中的值 例如 我需要一个后缀 数值后 我只是输入数值字段 它会显示 但此时旋钮不会显示状态 它不会显示旋钮状态 但后缀
  • 如何使用正则表达式(php)匹配这个单词

    我有这个关键词3D DL1 现在我想从用户提交的数据中搜索 3D DL1 关键字 该规则是只要句子中出现 3D 和 DL1 它就有效 不区分大小写 例如 BLASDHSDHD 3D 8qw9e08e2323 DL1 有效的 BLASDHSD
  • PHP 中 glob() 中的转义空格?

    我在 PHP 中有以下函数 除了名称中带有空格的文件外 该函数运行良好 Good picture jpg例如 这里是 function getphotolist currentalbum photos glob currentalbum J
  • php 的 SCORM 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们为一位客户开发了电子学习网站 最近他询问需要 SCORM feed 我不知道我的系统是否与 scr
  • 预期响应代码 250,但收到代码“530”,并显示消息“530 5.7.1 需要身份验证”

    我尝试配置 SMTP 邮件时遇到此错误laravel 这是我的配置 env MAIL DRIVER smtp MAIL HOST smtp mailtrap io MAIL PORT 2525 MAIL USERNAME fff3c01db
  • 从 https 切换到 http 时违反 RewriteRule

    我写了很多重写规则 in my htaccess文件 但是当我从https to http页面 它不遵守这些规则 NOTE 本地主机上一切正常 问题出在服务器上 UPDATE 这是我的website http www charityrumm
  • Symfony2 将复选框值从 0/1 更改为“no”/“yes”

    我创建了一个带有一个复选框的表单 用户设置类型 php public function buildForm FormBuilderInterface builder array options builder gt add newslett
  • 如何获取PHP版本?

    有没有办法检查从该脚本中执行特定脚本的 PHP 版本 例如 下面的代码片段 version way to get version print version 将在一台机器上打印 5 3 0 在另一台机器上打印 5 3 1 version p
  • 表单提交不起作用

    我有一张桌子 可以打印出所有可用的相机 它使用表单来更改这些设置 问题在于该表单仅更新条目中的最后一个摄像机 换句话说 如果我更改表单并为列表中的最后一个摄像机点击 应用 它将起作用 如果我更改此列表中任何其他摄像机的表单 它会将其更改为与
  • 通过电子邮件发送在 HTML5 画布上创建的图像

    我有一个画布 用户可以通过交互来更改设计 现在 用户完成更改后 可以提交他的设计及其电子邮件 ID 但为了提交设计 我使用以下方法将画布转换为图像http www nihilogic dk labs canvas2image http ww
  • php平台安装询问我intl扩展,但似乎已经安装

    在 orocrm 安装期间 使用 symfony 2 开发的平台 我收到此错误 Fatal error Uncaught exception Symfony Component Intl Exception MethodArgumentVa
  • 即使浏览器关闭,如何保持 PHP 会话处于活动状态?

    即使用户不小心关闭了浏览器 如何才能保持用户的会话处于活动状态 例如 Facebook 如果您登录他们的网站并关闭选项卡或浏览器 当您再次打开浏览器并访问 Facebook 时 他们会自动检测活动用户 并且不会将您重定向到登录页面 我怎么做
  • 重复密码在 Yii2 中不起作用

    我在模型中编写的规则如下 public password repeat inheritdoc public function rules return password required password string min gt 6 p
  • 完整日历 - 向事件对象添加额外属性

    可能是由于我缺乏理解 但我使用 PHP 返回 JSON 字符串来带回事件数据
  • MySql 西班牙语字符数据

    我有一个包含西班牙语字符的数据库 为了填充数据库 我从字符编码 UTF 8 的客户端页面获取值 当我在 mySql 数据库中插入值时 行包含更改的数据 例如 如果我插入 M xico 数据库中的条目是 M xico 其影响是当我对指定 M

随机推荐

  • 如何将 javafx 8 滚动窗格的内容居中

    我有一个 ScrollPane 其中包含一个 GridPane 其中包含一个 ImageView 其中包含一个 Image 我想要的是图像在 GridPane 中居中 如果没有 ScrollPane 我可以使用 setAlignment P
  • 按多个条件子集

    也许这是基本的东西 但我找不到答案 我有 Id Year V1 1 2009 33 1 2010 67 1 2011 38 2 2009 45 3 2009 65 3 2010 74 4 2009 47 4 2010 51 4 2011 1
  • STAThread 和多线程

    来自 MSDN 关于 STAThread 的文章 指示应用程序的 COM 线程模型是单线程单元 STA 作为参考 那就是整篇文章 单线程公寓 好吧 这超出了我的理解范围 另外 我在某处读到 除非您的应用程序使用 COM 互操作 否则该属性实
  • 如何向 WCF 客户端公开枚举属性

    我想向 WCF 客户端应用程序公开枚举属性 但我只能看到枚举值 这是枚举 public enum TemplateType EnumDescription Property Particulars EnumValue PropertyPar
  • 如何使 SET XACT_ABORT ON 回滚事务?

    基于书籍 在线文档SET XACT ABORT ON 我的印象是 如果 T SQL 语句引发运行时错误 则整个事务将终止并回滚 Remarks 当 SET XACT ABORT 为 ON 时 如果 Transact SQL 语句引发运行时错
  • LINQ 在查询中插入 'ESCAPE N'~'

    当我检查 Linq 发出的 SQL 查询时 我注意到它在执行 LIKE 命令时放置了一个 ESCAPE N 我该如何摆脱这个 看起来查询花费的时间是 SQL 中转义符的两倍 这是 LINQ var SearchPhrase xyz var
  • 如何使用 perl cd 进入目录?

    我正在尝试以下 系统 cd目录文件夹 但它失败了 我也尝试系统 退出 离开终端 但它失败了 Code chdir path to dir or die Perldoc chdir EXPR chdir FILEHANDLE chdir DI
  • 用于解析 SQL 参数的正则表达式

    如果我有一个查询 例如SELECT from authors where name name param 是否有正则表达式来解析参数名称 特别是 name param Thanks 这很棘手 因为参数也可能出现在带引号的字符串内 SELEC
  • 重新启动程序未提升

    由于某种原因 我的 C 程序需要以提升的权限重新启动 我使用以下代码来实现它 private static void RestartForPermissionsFix ProcessStartInfo processInfo new Pro
  • 如何加密密码列

    我在 SQL Server 2008 r2 中有用户表 目前还没有加密任何内容 但我想至少对密码进行加密 直到应用程序准备就绪 可以更好地处理这个问题 我可以这样做吗 如何做 手动对密码进行加密 您可以使用 SQL Server 加密列 请
  • 更改部署目标后无法再将应用程序模块导入到单元测试中

    为了在我的快速单元测试中对我的主应用程序目标的公共类进行单元测试 我必须在我的测试中导入我的主应用程序模块 如下所示 import MyAppModuleName 在我将部署目标从 7 0 更改为 8 4 之前 这一切都很好 现在构建和运行
  • 取出特定命名空间的所有类

    有没有办法从特定名称空间获取对象 也许与System Reflections 我想从类型中获取所有对象ITestType在命名空间中Test TestTypes作为对象 以便我有一个实例列表TestType1 TestType2 TestT
  • iOS 获取键盘窗口

    所以在 iOS 7 中我总是得到这样的键盘窗口 UIView keyboardView UIWindow tempWindow Because we cant get access to the UIKeyboard throught th
  • Steam Web API 获取 CS:GO 库存

    好吧 所以我一直在互联网上寻找这个 我发现当你想获得某人的蒸汽库存时 你可以使用这个 http api steampowered com IEconItems appid GetPlayerItems v0001 key apikey st
  • 使用 Intellij 13.1.3 的 Android 渲染问题

    在 IntelliJ 13 1 3 中查看 Android 应用程序中 唯一 活动的预览时 出现以下错误 渲染问题 此版本的渲染库比您的 IntelliJ IDEA 版本更新 请更新 IntelliJ IDEA 对我哪里出错有什么想法吗 这
  • 外部触发 Raphael 事件

    我的应用程序使用 Rapha l 将一组对象拖放到页面上 每个对象都有一个click处理程序绑定 使用通过 JSON 加载时附加到对象的数据 一切正常 我现在尝试使用 Cucumber 添加一些测试覆盖率 是的 我知道我应该首先构建测试 我
  • 避免在 Android 中方向改变时使用 asynctask 重新加载 Activity

    在android中 当用户改变方向时 如何避免在活动中使用asynctask类重新加载活动 有人可以举个例子吗 请关闭配置更改作为最后的手段 你的应用程序must发生这种情况时可以正常工作 如果您关闭方向配置更改 因为它会中断 您的应用程序
  • Angular 2 路由器 - 命名出口

    文档不是很好 但我试图在同一页面 路由上有不同的路由器出口 我的 app component html 中有这个
  • mvccontrib 测试助手并验证 http post 路由和参数

    在我的 Asp net MVC 应用程序中 我在控制器上有两种方法 一种用于用户第一次到达视图时 另一种用于用户在所述视图上提交表单时 public ActionResult Foo AcceptVerbs HttpVerbs Post p
  • 通过标签名称获取多个元素并在循环中检查元素标签以回显它

    这是有效的代码示例 doc gt loadHTML article header imgs doc gt getElementsByTagName img foreach imgs as img imgs取自 doc带有标签名称的元素img