PHPHtmlParser getAttribute不适用于自定义属性

PHPHtmlParser getAttribute不适用于自定义属性

问题描述:

我有一些HTML与自定义属性,并试图解析它与组件PHPHtmlParser。整个项目通过这个组件创建。以下是给出的问题示例。PHPHtmlParser getAttribute不适用于自定义属性

use PHPHtmlParser\Dom; 
class Parsemydiv { 
    function parseAttr() 
    { 
     $str='<div otop="20" oleft="20" name="info"> 
      <img src="example.jpg"> 
     </div>'; 
     $dom = new Dom(); 
     $dom->loadStr($str); 
     $otop = $dom->getAttribute("otop"); 
     $name = $dom->getAttribute("name"); 
     echo "Name: " . $name . PHP_EOL; 
     echo "Top: " . $otop . PHP_EOL; 
     echo "Left: " . $oleft . PHP_EOL; 

    } 
} 

输出是: 名称:信息 顶部: 左:

的getAttribute无法获得自定义属性。

+0

如果你想有效的HTML *属性,你应该使用数据 - :'数据OTOP = “20” 数据oleft = “20”' –

为什么使用第三方库解析DOM时,PHP内置支持?我建议学习native functions代替:

$str='<div otop="20" oleft="15" name="info"> 
     <img src="example.jpg"> 
    </div>'; 
$doc = new DOMDocument(); 
$doc->loadHTML($str); 
$div = $doc->getElementsByTagName('div')[0]; 
$otop = $div->getAttribute('otop'); 
$oleft = $div->getAttribute('oleft'); 

echo "otop=$otop, oleft=$oleft"; //otop=20, oleft=15