在 PHP 中检索相对 DOM 节点

2024-02-23

我想检索文档中下一个元素标签的数据,例如:

我想找回<blockquote> Content 1 </blockquote>仅适用于每个不同的跨度。

<html>
<body>


<span id=12341></span>
<blockquote>Content 1</blockquote>
<blockquote>Content 2</blockquote>

<!-- misc html in between including other spans w/ no relative blockquotes-->

<span id=12342></span>
<blockquote>Content 1</blockquote>

<!-- misc html in between including other spans w/ no relative blockquotes-->

<span id=12343></span>
<blockquote>Content 1</blockquote>
<blockquote>Content 2</blockquote>
<blockquote>Content 3</blockquote>
<blockquote>Content 4</blockquote>

<!-- misc html in between including other spans w/ no relative blockquotes-->    

<span id=12344></span>
<blockquote>Content 1</blockquote>
<blockquote>Content 2</blockquote>
<blockquote>Content 3</blockquote>


</body>
</html>

现在我想知道两件事:

1.)如何编写一个匹配且仅输出紧跟在闭合元素之后的块引用的表达式(<span></span>)?

2.)如果我想要,如果我将来需要输出内容2、内容3等,同时仍然应用上一个问题的规则,我怎样才能获得它们?


现在我想知道两件事:

1.)如何编写匹配且仅输出块引用的表达式 关闭后紧随其后 元素 (<span></span>)?

假设提供的文本已转换为格式良好的 XML 文档(您需要将值括起来id引号中的属性)

Use:

/*/*/span/following-sibling::*[1][self::blockquote]

这在英语中的意思是:全选 blockquote 每个元素都是第一个、直接的 以下兄弟姐妹 span 文档顶部元素的孙元素.

2.)如果我想要,我怎样才能获得内容2、内容3等(如果我曾经) 需要将它们输出到 未来,同时仍在申请 上一个问题的规则?

Yes.

你可以获得所有连续的集合blockquote后面的元素span:

 /*/*/span/following-sibling::blockquote
          [preceding-sibling::*[not(self::blockquote)][1][self::span]]

你可以获得连续的一组blockquote(N+1)-st 之后的元素span by:

/*/*/span/following-sibling::blockquote
           [preceding-sibling::*
             [not(self::blockquote)][1]
                [self::span and count(preceding-sibling::span)=$vN]
           ]

where $vN应该用数字N代替。

Thus, 的连续集合的集合blockquote第一个元素之后的元素span被选择为:

/*/*/span/following-sibling::blockquote
           [preceding-sibling::*
             [not(self::blockquote)][1]
                [self::span and count(preceding-sibling::span)=0]
           ]

的连续集合的集合blockquote第二个之后的元素span被选择为:

/*/*/span/following-sibling::blockquote
           [preceding-sibling::*
             [not(self::blockquote)][1]
                [self::span and count(preceding-sibling::span)=1]
           ]

etc. ...

参见XPath 可视化工具 http://www.huttar.net/dimitre/XPV/TopXML-XPV.html通过以下表达式选择的节点 :

/*/*/span/following-sibling::blockquote
           [preceding-sibling::*
             [not(self::blockquote)][1]
                [self::span and count(preceding-sibling::span)=3]
           ]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PHP 中检索相对 DOM 节点 的相关文章

  • 点击 %40 变为 %2540

    当单击包含 符号的链接时 该网址给我 40 这就是我想要的 但是一旦我点击它 一秒钟后它就在我点击后变成了 2540 单击是在电子邮件内 然后定向到网站 其中 40 更改为 2540 我怎样才能让它停止变化 它现在得到这样的参数 email
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • 更改 Woocommerce 中“我的帐户”页面上的标题

    我见过大量有关如何使用 WooCommerce 我的帐户仪表板重新排序 更改导航和页面的示例 但我一生都无法弄清楚如何更改每个部分的主要标题 我的帐户 订单 下载 地址等 我已经搜索过模板 但没有任何乐趣 我尝试使用条件 php 注释来回显
  • 防止 Propel 插入空字符串

    当未设置列时 如何防止 Propel ORM 插入空字符串 CREATE TABLE user uid INTEGER PRIMARY KEY AUTO INCREMENT email VARCHAR 255 NOT NULL UNIQUE
  • 如何让Apache服务index.php而不是index.html?

    如果我将以下行放入index html文件 使 Apache 包含index php file 参观index html页面向我显示了这个 这是为什么 为什么它实际上不包含 PHP 文件 正如其他人指出的那样 您很可能没有 html设置为处
  • php中的条件格式化html表与时间戳比较

    echo table style width 100 tr echo td Order td echo td Destination td echo td Location td echo td Status td echo td Time
  • 媒体的 Google Cloud Storage 签名网址

    我已经建立了一个视频网站 为用户提供 m3u8 和关联的 ts 文件 我不希望媒体文件免费可用 所以我所做的是 当用户在网站上时 在 mysql 中使用他们的 IP 和令牌创建一个会话 当他们请求特定媒体子域 mp4 domain com
  • 从类似 cronjob 的语法创建“下次运行时间”日期

    在我正在创建的应用程序中 用户可以安排重复任务 生成间隔模式的简单值是 Minute 0 59 90 each minute Hour 0 23 90 each hour Day of month 1 31 90 each day of m
  • Google Cloud SQL 上的故障转移如何运作?

    我打算将 PHP 应用程序 从 Google Cloud Platform 外部的服务器 连接到 Google Cloud SQL 我想知道如何设计应用程序以正确地对其数据库进行故障转移 根据manual https cloud googl
  • 使用 PHP PayPal REST API 退款?

    我正在开发一个集成到 PayPal 的 REST API 中的 PHP 应用程序 我正确处理了事务并将事务 ID 保存到 MySQL 数据库中 我现在正在尝试退款 但无法让它停止给出 传入 JSON 请求未映射到 API 请求 错误 有人对
  • 获取字符串中的最后一个整数

    我需要隔离包含多个整数的字符串中最新出现的整数 我怎样才能得到23代替1 for lastnum1 text 1 out of 23 lastnum1 this gt getEval eregi replace out of text 你可
  • 如何将我的 init 函数中的代码集中到所有控制器中?

    public function init this gt view gt user Zend Auth getInstance gt getIdentity this gt view gt siteName Zend Registry ge
  • 如何使用 selenium 和 Mocha 获取 xPath() 选择的锚标记的文本

    我已经成功选择了 a 标签 我想显示锚标记的文本 但无法这样做 我正在使用 selenium mocha javascript 和 phantomJS 这是我的脚本 详细 var assert require assert var test
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • PHP 扩展开发入门 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 请推荐有关 PHP 低 级 modules 编程接口的帮助文章或教程 搜索我的书签 我发现的唯一链接是
  • PHP print_r() 中 _r 的含义是什么?

    我见过这个答案 https stackoverflow com questions 13103410 what does r suffix mean就这样 但我不确定它对于 PHP 是否相同 如果是 可重入的含义是什么 From PHP n
  • 如何将 Smarty 3 包含到 Laravel 4 中?

    我是 Laravel 的新手 所以仍在习惯这些概念 但是我有大约 10 年的使用 Smarty 的经验 所以我希望利用这一点 除了事实上 Blade 似乎缺乏太多我发现有用且在 Smarty 中开箱即用的功能 但无论如何除了这个问题的要点之
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西
  • Stream_context_set_params 不适用于 ssh2.sftp 包装器

    我想使用类似的功能here http www php net manual en function stream notification callback php 请检查以下代码 function notify notification
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function

随机推荐

  • 如何在 Tornado 中从子进程向 websocket-client 发送消息?

    我有龙卷风服务器 它从 websocket 连接接收消息 我需要将工作人员功能作为单独的进程运行 并且工作人员应该回答客户端 主要思想是在并行模式下工作 像这样的东西 def worker ws message input json loa
  • WASAPI:以最小延迟播放正弦波声音,无毛刺(独占事件驱动模式)

    我尝试在独占模式下使用 Windows 音频会话 API WASAPI 播放简单的正弦波形 但无论我做什么 都会遇到声音故障 我一直在使用MSDN 独占模式流示例 https msdn microsoft com en us library
  • Android:java.lang.IllegalArgumentException:服务未注册

    我有活动 启动服务并绑定它 但我希望即使活动关闭我的服务也能运行 所以我需要取消绑定它 当我尝试这样做 调用我的函数disconnectFromService 时 我总是遇到此异常 服务绑定成功 可以正常通信了 仅当服务已绑定时 我才尝试解
  • 使用 Google Sheets/Google Drive API 请求特定文件权限

    我正在使用 Google Sheets API 获取 Java 项目的工作表数据 一切都在本地按预期工作 但我使用的是详细权限范围https www googleapis com auth spreadsheets https www go
  • 常量表达式中具有未初始化成员的“默认”构造函数

    以下最小示例因未初始化数组数据成员而被 Clang 和 GCC 拒绝 class vector3 public constexpr vector3 default private float m data 3 constexpr auto
  • 带有超链接的 Pandas read_excel

    我有一个 Excel 电子表格 正在将其读入 Pandas DataFrame df pd read excel file xls 但是 电子表格的其中一列包含具有与其关联的超链接的文本 如何访问 Pandas 中的底层超链接 这可以用 o
  • 自定义 UITableViewCell 内的水平 UIScrollView - 使用 IB Storyboard - 不滚动

    主要目标是能够水平滚动每行的内容 我正在尝试使用 X Code 5 和 StoryBoard 来做到这一点 问题似乎很简单 但是经过几个小时的搜索 除了一个有点相似但仅使用编程方法的问题之外 我什么也没得到 see here https s
  • Android 动画时删除视图错误

    private void kartyafeleanim String idx1 String idx2 Animation anim1 AnimationUtils loadAnimation mycontext R anim scalab
  • Oracle数据库:如何选择所有列但首先返回某些列?

    背景 我有一个 Oracle 数据库表 其中有很多列 我正在对这些列运行一些查询 我不知道我在查询中到底要查找什么数据 所以我想返回所有列 但我不想寻找和啄食我知道有意义的列 Question 假设有一个表 表 1 A 列 B 列 C 列
  • 将菜单按钮添加到 VS2010 TFS 查询结果或工作项栏中

    我正在尝试将按钮添加到 Visual Studio TFS2010 工作项查询结果菜单栏以及为各个工作项显示的菜单栏 见下图 这实际上是可定制的且可行的吗 如果可以 如何实现 我会看一下这篇文章 TFS 2010 将菜单项添加到构建资源管理
  • 从浏览器检测Windows 10

    我需要在客户端运行 Windows 10 S 特别是 S 仅 Win 10 还不够 时将浏览器重定向到特定页面 用户代理似乎没有指定这一点 我已经找到了在客户端上通过 C 和 WMI 获取此数据的解决方案 但我需要在网页上运行 Javasc
  • MvvmLight EventToCommand 和 WPFToolkit DataGrid 双击

    试图弄清楚如何使用 EventToCommand 为行设置数据网格双击处理程序 该命令位于每行的视图模型中 只是that很大程度上来自我的经验 因为我还没有使用过交互 Thanks 我本来会使用 mvvmlight 标签 但我还没有足够高的
  • 如何使用 Kotlin DSL 创建 Fat JAR?

    我正在使用 Gradle 5 5 我有一个基于 Groovy 的构建脚本 我正在尝试将其迁移到 Kotlin DSL 这jar任务包含将所有依赖项复制到 JAR 文件的典型行 from configurations compile coll
  • 打开键盘时隐藏页脚 ionic4

    参考了这个链接 在键盘打开 Ionic3 上隐藏页脚 https stackoverflow com questions 48386422 hide footer on keyboard open ionic3 但问题也是一样的 问题与上图
  • 如何使用 OSGi 和 EE6 模块化企业应用程序?

    我知道已经有一些与该主题相关的问题 但我还找不到真正的解决方案 目前我正在使用 EE6 JPA CDI JSF 开发应用程序 我想采用一种更加模块化的方法 而不是将所有内容打包到 WAR 或 EAR 中并将整个内容部署在应用程序服务器上 我
  • WooCommerce 在产品标题中显示产品类别

    我有一个运行 WooCommerce 版本 2 3 8 的 Wordpress 版本 4 2 2 电子商务网站 在我的个人产品页面上 我希望将产品的标题设置为还包括我在 WooCommerce 中创建的以及该产品所属的自定义类别 我找到与单
  • 项目贡献者的 github graphql 查询

    我想使用 GitHub Graphql api 查询项目贡献者 有人能给我任何提示吗 刚刚尝试了一段时间 我想我错过了一些小元素 我想要得到某样东西https api github com repos facebook react cont
  • 核心数据图像不会加载到 NSTableView 图像单元中

    在我的代码中 我将图像存储到我的核心数据模型中 工作正常 如果我将视图设置为具有 NSImageView 并将其数据绑定到 Controller Key selection 和 modelKeyPath myImagePath 则它可以工作
  • 如何通过htaccess在URL中添加index.php

    实际上我需要通过 htaccess 文件在我的应用程序 URL 中添加 index php 我的网址是这样的 http localhost 8080 myapp xyz abs html 我需要将其更改为 http localhost 80
  • 在 PHP 中检索相对 DOM 节点

    我想检索文档中下一个元素标签的数据 例如 我想找回 blockquote Content 1 blockquote 仅适用于每个不同的跨度 span span blockquote Content 1 blockquote blockquo