【发布时间】:2014-02-05 17:05:27
【问题描述】:
我尝试了很多东西,但我无法读取标签上的值。 我在这里和不同的博客上查看了类似的示例,但那里给出的解决方案并没有解决我的问题。
网站上的Html是这样的:
<div>
<select name="ctl00$ContentPlaceHolder1$ddlCityID" id="ddlCityID">
<option value="">Choose</option>
<option value="14">Roma</option>
<option value="15">Milan</option>
<option value="16">Inter</option>
</select>
</div>
我在 php 上的代码:
$pageTitle = 'select[@id="ddlCityID"]';
$html = file_get_html($url);
if ($html != null )
{
foreach($html->find($pageTitle) as $element)
{
$link = $element->find('option');
callfunction($link[0]->option);
}
}
错误:
Notice: Undefined offset: 0 in C:\Aptana Studio 3 = a.php on line 57
Notice: Trying to get property of non-object in C:\Aptana Studio 3 = a.php on line 57
我的问题在哪里,如何获取标签的值以及标签中的文本。
谢谢;
【问题讨论】:
-
var_dump
$link看看它是否是一个数组。可能您必须以不同的方式访问它 -
$link = $element->find('option');是第 57 行
-
不确定你在这里实际做什么。所以你的完整 HTML 页面在一个文件中,你想用 XPath 函数解析那个文件?您不应该使用 xml 函数解析任何网站。 Htmlpages 很少与 xml 兼容,并且很可能会使您的脚本崩溃。我会尝试使用 str_pos 和 substr 函数的更基本的方法。
-
或者......你只是在你的 PHP 代码上使用了 JQuery 函数吗?
-
如何用 str_pos 解析这段代码?
标签: php web-crawler