$string = '<img alt="Peachtree St Apartment 2" data-url="http://i.oodleimg.com/item/3472578127t_1m_condos,_townhouses_&_apts_for_sale_in_johnson_city_tn/?1377909664" src="http://i.oodleimg.com/a/animate/spinner-small.gif" class="lazyload-image">';
我想在PHP中提取data-url参数。
答案 0 :(得分:5)
这对 XPath 来说非常棒! 不知道XPath是什么?让维基百科answer that:
XPath,XML Path Language,是一种用于选择节点的查询语言 来自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
More info on how to use XPath with PHP (DOMXPath) in the manual
答案 1 :(得分:0)
使用正则表达式,您可以执行以下操作:
$string = '<img alt="Peachtree St Apartment 2" data-url="http://i.oodleimg.com/item/3472578127t_1m_condos,_townhouses_&_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];
}