【问题标题】:DOMNodeList::getAttribute is undefinedDOMNodeList::getAttribute 未定义
【发布时间】:2018-01-28 02:38:31
【问题描述】:

我尝试运行此代码,但 php 抛出:致命错误:调用 path/to/feature-manager.php 中未定义的方法 DOMNodeList::getAttribute()

此文件包含 html

//features.php

<div class="col-md-4">
  <div class="feature">
 <img class="img-fluid" src="media/artwork_icon_512.png" id="feature-icon1">
  <h4>Feature 1</h4>
    </div>
</div><!---->
    
    
<div class="col-md-4">
  <div class="feature">
 <img class="img-fluid" src="media/dress_flat_icon-512.png" id="feature-icon2">
  <h4>Feature 2</h4>
    </div>
</div><!---->
    
   
<div class="col-md-4">
  <div class="feature">
  <img class="img-fluid" src="media/users-512.png" id="feature-icon3">
  <h4>Feature 3</h4>
    </div>
</div>

然后我把它调用到这个文件中

//feature-manager.php

$read=file_get_contents('../include/features.php');
$features = explode('<!---->', $read);

$doc= new DOMDocument();
foreach ($features as $feature) {
	
$doc->loadHTML($feature);
$img = $doc->getElementsByTagName("img"); 
	$imgsrc = $img->getAttribute('src');
	
echo $imgsrc;
显然我想从中获取 src 属性,但不知何故无法识别 getAttribute()

【问题讨论】:

    标签: php html dom html-table


    【解决方案1】:

    你必须遍历getElementsByTagName()的结果

    这个函数返回一个DomNodeList,getAttribute属于DOMElement

    //feature-manager.php
    
    $read=file_get_contents('../include/features.php');
    $features = explode('<!---->', $read);
    
    $doc= new DOMDocument();
    foreach ($features as $feature) {
    	
        $doc->loadHTML($feature);
        $images = $doc->getElementsByTagName("img"); 
        foreach($images as $img){
    
    	    $imgsrc = $img->getAttribute('src');
    	    echo $imgsrc;
        }
    }

    【讨论】:

      猜你喜欢
      • 2016-01-21
      • 1970-01-01
      • 2019-10-19
      • 1970-01-01
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      相关资源
      最近更新 更多