我一直在研究 PHP 的简单 html dom,它运行良好。问题是当我尝试将返回的值添加到 PHP 数组时。
我有一个示例,您可以在其中看到结果http://fae.ctrl.fo/plane_script/,下面的脚本是从该链接提供数据的内容。
<?PHP
include('simple_html_dom.php');
$resultSet = array();
$html = file_get_html('http://212.55.50.147');
foreach($html->find('tr[class^=FlightScheduleItem]') as $tr)
{
$row = array();
foreach($tr->find('td') as $td)
{
echo $td->innertext." ";
$row[] = $td->innertext;
}
$resultSet[] = $row;
}
echo "<br/><br/><br/>";
echo $_GET['callback'] . '(' .json_encode($resultSet) . ')';
?>
如您所见,我正在打印在td标记中找到的所有值,并将它们保存在同一循环中的数组中。如果您检查输出,您会发现在数组中找不到“ Reykjavík ”。
你知道为什么吗?
稍后编辑:
如果我使用 PHP 中的 print_r 函数,我可以在我的数组中找到这个词。这意味着json_encode将Reykjavík 转换为 null。
你知道为什么或替代方案吗?
谢谢
稍后编辑:
感谢您的帮助,我修改了这一行:
$row[] = htmlentities($td->innertext, UTF-8);
...现在它可以工作了。
谢谢你。