2016-07-05 54 views
1

我有一些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」' –

回答

0

爲什麼使用第三方庫解析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 
相關問題