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

时间:2015-01-01 16:53:19

标签: php html simple-html-dom

我正在使用这个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&"

请有人帮我理解我做错了什么

2 个答案:

答案 0 :(得分:4)

$res->data-href解析为

$res->data - href

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

$res->{"data-href"}

答案 1 :(得分:1)

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

echo $res->data-herf

应该是:

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

说实话,尽管使用该方法可能更容易(也更安全):

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