使用getAttribute()

时间:2016-11-15 12:00:15

标签: php nginx domdocument

我有一个html iframe代码,我想得到第一个标签的href值。我有这个PHP代码

<?php
$iframe_input=$_GET["code"];
$doc_url = new DOMDocument();
@$doc_url->loadHTML($iframe_input);

$iframe_links = $doc_url->getElementsByTagName('a');
$iframe_link = $iframe_links[0]->getAttribute('href');

echo $iframe_link;
?>

当我在xampp上本地运行时,一切正常。但是当我在nginx webserver(digitalocean)上运行它时,我得到了一个HTTP 500。

  

PHP消息:PHP致命错误:无法使用DOMNodeList类型的对象作为数组

仅供参考我如果删除$iframe_link = $iframe_links[0]->getAttribute('href');,则不会返回错误。

1 个答案:

答案 0 :(得分:0)

如果您收到该错误,则因为您的服务器上有旧版本的PHP。

您只能从版本5.6使用DOMNodeList作为数组。查看here

如果您想在具有旧版本的服务器上工作,则需要使用方法item()从元素0获取项目,如下所示:

$iframe_links->item(0)->getAttribute('href');