【问题标题】:Php Dom Query - Get table line with td valuePhp Dom Query - 获取具有 td 值的表行
【发布时间】:2017-02-07 20:47:15
【问题描述】:

我正在尝试从网站中提取表格,但遇到了麻烦。我想通过提供<td> 值来仅保留该行。 我试过这个:

$xpath->query("//html/body/div[2]/div[3]/div/div[2]/div/div/form/table/tr[3]/td/table/tr/td[@value('value')]");

但我什么也得不到。

有人有想法吗?

更新:

我正在尝试从这个网站中提取:http://competitions.ffr.fr/index.php/ffr/rugby_francais/competitions?ID_COMITE_T=2296&ID_PHASE=35025&NOM_COMPETITION=3DF+-+3%E8me+DIVISION+FEDERALE&ID_JOURNEE=&NOM_JOURNEE=&ID_RENCONTRE=&ID_EQUIPE=&NOM_EQUIPE=&text_joueur=&text_joueur_prenom=&text_club=&ID_CLUB=&ID_CLUB_O=&NOM_CLUB=&sans_liens=&flag_not_recherche=1&ID_POULE=49525&n_poule=1

我想保留第一个表并获取包含例如“RC BAULOIS”或其他内容的行。

【问题讨论】:

  • 您能提供您要解析的 HTML 吗?
  • 你能澄清一下你的意思吗-也许显示期望的结果或源数据

标签: php html dom xpath


【解决方案1】:

您的查询中几乎没有错误。

如果您想要表格节点(哪个?),那么您应该选择该节点,而不是深入到单元格级别,以便从您的示例中获取第二个表格:

$xpath->query("//table/tr[3]/td/table[tr/td[text() = 'value']]");

【讨论】:

  • 我明白,但我更新了我的主要帖子,即我想要提取表格的网站。
  • 因为你的解决方案实际上不起作用,因为我什么也没得到
  • 因为你写的和你期望的相差甚远。试试这个: $xpath->query("//table[tbody/tr/td/table[//a[contains(text(), 'R C BLAISOIS')]]]");
  • 实际上,我收到一个错误,因为它说查询无效。我试过这个: $xpath->query("//html/body/div[2]/div[3]/div/div[2]/div/div/form/table/tr[3]/td /table[tbody/tr/td[//a[contains(text()‌​, 'RC BLAISOIS')]]]");因为我需要添加查询的开头才能得到正确的表
  • 你有一些文档链接吗?因为我在文档上找不到你的解释
猜你喜欢
  • 1970-01-01
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
  • 1970-01-01
  • 2017-05-01
  • 2012-09-06
相关资源
最近更新 更多