2011-12-23 52 views
2

使用PHP從PHP頁面中提取標題(h1,h2等)是否可能,並將它們列在同一頁面上無序列表?一個WordPress特定的解決方案很好,但一個普通的PHP解決方案也是受歡迎的。如何使用PHP提取頁面標題(特別是WordPress)

編輯:我想是的形式

h1 
    h2 
    h3 
    h3 
    h2 
    h3 
    h3 
+0

我並不總是張貼該鏈接,但當我這樣做是因爲我懶得找到更確切的愚蠢:[在PHP中解析HTML的最佳方法](http://stackoverflow.com/questions/3577641/how-to-parse-and-process-html-with-php)(雖然沒有解釋太多)。雖然WP可能和其他實現經常使用更簡單的方法。 – mario 2011-12-23 22:14:34

回答

3

在PHP中,你可以使用XML操作的東西:

http://www.php.net/manual/en/domdocument.getelementsbytagname.php

還沒有測試過,但像這樣的h1:

$dom = new DOMDocument(); 

@$dom->loadHTML(file_get_contents('htmlfile.htm')) 

$h1 = $dom->getElementsByTagName('h1'); 

foreach ($h1 as $val){ 
    echo $val->property->__toString(); 
} 

我對函數不太確定,a nd我不能夠測試(可能明天)...我得到了從http://br.php.net/manual/en/class.domelement.php#98851

tostring
+0

感謝您的回答。有沒有辦法訂購我所有的標題(所以我可以列出一個列表,如我的答案中所示)? – mc10 2011-12-24 18:03:46

+0

@ mc10好吧,你有兩個選擇(但我不確定其中一個),你可以使用「*」(在getElementsByTagName函數中)來拉取所有的標籤,然後篩選出你想要的。使用'$ val- > tagName'在foreach循環中測試你正在查找的標籤 – craniumonempty 2011-12-25 09:43:35

+0

還有什麼其他的選擇 – mc10 2011-12-25 17:51:32