2011-02-08 79 views
1

我在HTML下面的HTML代碼:我怎樣才能獲得鏈接到一個HTML列表與PHP?

<ul><li><a href="/webapps/portal/frameset.jsp?tab_tab_group_id=noActiveTabGroup&amp;url=%2Fwebapps%2Fblackboard%2Fexecute%2Flauncher%3Ftype%3DCourse%26id%3D_343744_1%26url%3D" target="_top">CCM.TC2012.1.1111.20132 : Proyecto de desarrollo de software (11 Gpo 1)</a></li>                  <li><a href="/webapps/portal/frameset.jsp?tab_tab_group_id=noActiveTabGroup&amp;url=%2Fwebapps%2Fblackboard%2Fexecute%2Flauncher%3Ftype%3DCourse%26id%3D_343703_1%26url%3D" target="_top">CCM.TC3003.1.1111.20088 : Diseño y arquitectura de software (11 Gpo 1)</a></li>                  <li><a href="/webapps/portal/frameset.jsp?tab_tab_group_id=noActiveTabGroup&amp;url=%2Fwebapps%2Fblackboard%2Fexecute%2Flauncher%3Ftype%3DCourse%26id%3D_343700_1%26url%3D" target="_top">CCM.TC3007.1.1111.20085 : Proyecto integrador de tecnologías computacionales (11 Gpo 1)</a></li>                  <li><a href="/webapps/portal/frameset.jsp?tab_tab_group_id=noActiveTabGroup&amp;url=%2Fwebapps%2Fblackboard%2Fexecute%2Flauncher%3Ftype%3DCourse%26id%3D_374651_1%26url%3D" target="_top">CCM.WA3001.12.1111.20338 : Competencias profesionales (11 Gpo 12)</a></li></ul> 

而我試圖讓列表的下一個代碼的鏈接(href值):

$dom = new domDocument; 
@$dom->loadHTML($materias); 
$dom->preserveWhiteSpace = false; 
$ul = $dom->getElementsByTagName('ul'); 

$value = $dom->getElementsByTagName("ul")->item(0)->getAttributeNode("href"); 

$lis = $ul->item(0)->getElementsByTagName('li'); 

foreach ($lis as $li){ 
    echo li->nodeValue; 
} 

但只有我獲取文本而不是href的值。請問你能幫幫我嗎?

+0

其它問題,請正確格式化代碼塊和使用體面的壓痕。 – RobertPitt 2011-02-08 21:19:53

回答

0

$li->getAttribute('href');

編輯:ERR - 如我看着手動它看起來像$li->attributes->getNamedItem("href")->nodeValue;

1

中的HREF是一個元素的屬性。您正在獲取UL和LI,因此不需要獲取href屬性。

嘗試用這種XPath

/html/body/ul/li/a/@href 

這將獲取你可能因此未來內張貼在所有的HREF attribute nodes