我正在使用这个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&"
请有人帮我理解我做错了什么
答案 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");