在 PHP 中使用 simplehtmldom 如何获取 data-href 属性?

Using simplehtmldom in PHP how do I get the data-href attribute?

我正在使用这个 PHP 库来处理 dom :http://simplehtmldom.sourceforge.net/

我想访问此页面上 li 元素的 data-href 元素:http://www.spareroom.co.uk/flatshare/bristol/

根据 api 参考: http://simplehtmldom.sourceforge.net/manual_api.htm

这段代码应该可以工作 - 只要 $res 代表 li dom 节点 - 在我的例子中它可以:

echo $res->data-href;

然而,当我运行时,回声是“0”......当我希望看到类似的东西时:

"/flatshare/fad_click.pl?fad_id=3248085&search_id=&offset=0&city_id=&flatshare_type=offered&search_results=%2Fflatshare%2Fbristol%2F&"

有人可以帮助我理解我做错了什么吗

$res->data-href 被解析为

$res->data - href

即这是一个减法,因为 - 不是标识符中的有效字符。尝试:

$res->{"data-href"}

由于您正在访问具有特殊字符的对象键,因此必须用 {} 将其括起来。 所以:

echo $res->data-herf

应该是:

echo $res->{"data-href"}

老实说,使用以下方法可能更容易(也更安全):

$res->getAttribute("data-href");