【问题标题】:Using double quotes instead of single quotes in DOMXpath query fails在 DOMXpath 查询中使用双引号而不是单引号失败
【发布时间】:2012-06-22 00:38:35
【问题描述】:

这可能只是 php 语法的问题,但为什么会这样:

$b = new DOMXPath($z);
$b = $x->query('//div[contains(@class,"xxx")]');

但使用单引号内的双引号不会:

$b = $x->query("//div[contains(@class,'xxx')]//a");

【问题讨论】:

  • 你确定吗?实际上,无论是在 Xpath 还是在 PHP 端,这都不应该有所作为。可能添加的//a 在这里有所不同?另见Encoding XPath Expressions with both single and double quotes。
  • 不是问题中错误添加的。没有 a 它不起作用
  • 大多数 xpath 示例都带有单引号,这将是您的变体 not 工作。请真的仔细检查你这里没有其他问题。很有可能。顺便说一下,欢迎使用 Stack Overflow。
  • 您能否提供一个 HTML 和 PHP 代码的最小示例来演示这如何不起作用?

标签: php dom


【解决方案1】:

可能和字符串中的单引号有关。

试试这个:

$b = $x->query("//div[contains(@class,\"xxx\")]//a");

否则我会坚持使用单引号版本。有什么大不了的?

【讨论】:

    猜你喜欢
    • 2011-05-18
    • 2021-01-19
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    相关资源
    最近更新 更多