duandou9931 2016-11-15 12:00
浏览 75
已采纳

使用getAttribute()时DOMDocument返回500

I have an html iframe code and I want to get the href value of the first a tag. I have this php code

<?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;
?>

When I run it locally on xampp everything is ok. But when I run it on a nginx webserver (digitalocean), I get an HTTP 500.

PHP message: PHP Fatal error: Cannot use object of type DOMNodeList as array

FYI If I remove$iframe_link = $iframe_links[0]->getAttribute('href');, it doesn't return an error.

  • 写回答

1条回答 默认 最新

  • doulubashang6936 2016-11-15 12:04
    关注

    If you receive that error it's because on your server you have an older version of PHP.

    You can use DOMNodeList as array only from version 5.6 . Check here

    If you want to work on your server that have an older version you need to get the item from element 0 using the method item() like this:

    $iframe_links->item(0)->getAttribute('href');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序