0
  $string = '<img alt="Peachtree St Apartment 2" data-url="http://i.oodleimg.com/item/3472578127t_1m_condos,_townhouses_&amp;_apts_for_sale_in_johnson_city_tn/?1377909664" src="http://i.oodleimg.com/a/animate/spinner-small.gif" class="lazyload-image">';

我想在 PHP 中提取 data-url 参数。

4

2 回答 2

5

这对XPath来说是一项了不起的工作!不知道 XPath 是什么?让维基百科回答

XPath,即 XML 路径语言,是一种用于从 XML 文档中选择节点的查询语言。此外,XPath 可用于从 XML 文档的内容计算值(例如,字符串、数字或布尔值)。XPath 由万维网联盟 (W3C) 定义。

因此,对于您的特定用户案例,查询将是:

//img[@class='lazyload-image']/@data-url

所以你可以像这样使用它:

$query("//img[@class='lazyload-image']/@data-url");
$xpath->query($query);

然后你可以自由地迭代它。在这件事上,我已将附加到您的 img-tag 的类考虑在内,但请随意删除:

//img/@data-url

有关如何在手册中使用 XPath 和 PHP (DOMXPath) 的更多信息

于 2013-09-25T07:52:28.907 回答
0

使用正则表达式,您可以执行以下操作:

$string = '<img alt="Peachtree St Apartment 2" data-url="http://i.oodleimg.com/item/3472578127t_1m_condos,_townhouses_&amp;_apts_for_sale_in_johnson_city_tn/?1377909664" src="http://i.oodleimg.com/a/animate/spinner-small.gif" class="lazyload-image">';
$matches = array();
$url = '';
if (preg_match('/data-url="([^"]+)"/', $string, $matches)) {
    $url = $matches[1];
}
于 2013-09-25T07:49:14.273 回答