我試過find('meta[http-equiv="Content-type"]')
,但未能檢索到該信息。如何使用html簡單的DOM獲取內容類型?
回答
SimpleHTMLDom不在選擇器中使用帶引號的字符串文字。這只是elem[attr=value]
。並且值的比較似乎區分大小寫(可能有一種方法可以使其不區分大小寫,但我不知道)*
例如,
require 'simple_html_dom.php';
$html = file_get_html('http://www.google.com/');
// most likely one one element but foreach doesn't hurt
foreach($html->find('meta[http-equiv=content-type]') as $ct) {
echo $ct->content, "\n";
}
打印text/html; charset=ISO-8859-1
。
*編輯:是的,有執行不區分大小寫的匹配方式,使用的*=
代替=
find('meta[http-equiv*=content-type]')
EDIT2:順便說一句的是http-equiv*=content-type
啄也符合<meta http-equiv="haha-no-content-types"...
(它只有在字符串測試在屬性值中的某處)。但它是我能找到的唯一不區分大小寫的函數/運算符。我猜你可以在這種情況下使用它;-)
編輯3:它使用preg_match('.../i'),模式/選擇器直接傳遞給該函數。因此你可以做一些像http-equiv*=^content-type$
匹配http-equiv="Content-type"
但不是http-equiv="xyzContent-typeabc"
。但我不知道這是否是一項保證功能。
謝謝,我會過得很愉快! – user198729 2010-02-06 16:31:59
Content-Type通常是http-response頭的一部分 - 不在主體中。你從哪裏得到xml文件?
正確來自'file_get_html' – user198729 2010-02-06 16:06:38
我會去foreach
在$this->find('meta');
在不同的情況下寫content-type
- 我認爲瀏覽器是不是這種情況下敏感,而php可能是。
- 1. 如何使用簡單的html dom獲取特定內容的鏈接
- 2. 使用PHP簡單HTML DOM解析器從Div類獲取內容
- 3. 用簡單的html dom獲取「outertext」HTML
- 4. 用簡單的html dom獲取鏈接
- 5. 使用php簡單dom解析器獲取類的內容的問題
- 6. 如何使用簡單的HTML DOM
- 7. 如何使用簡單的HTML DOM
- 8. 如何使用簡單的HTML DOM
- 9. 獲取HTML從文件中使用簡單的HTML DOM
- 10. 簡單的html dom只提取空類
- 11. 使用簡單的HTML DOM
- 12. 使用簡單的HTML DOM
- 13. 使用簡單的HTML DOM
- 14. 使用簡單的HTML DOM
- 15. 使用簡單的HTML DOM解析器獲取html標籤內的數據:
- 16. 使用簡單的HTML DOM分析器從Javascript查找內容
- 17. 簡單的HTML DOM獲得TD的內容,其中的具體內容爲
- 18. PHP簡單的HTML DOM - 獲取文本罕見的標籤內
- 19. php簡單的html dom獲取td內的href id
- 20. 如何使用「PHP簡單HTML DOM解析器」獲取<h1></h1>標記的內容?
- 21. 使用PHP獲取評論簡單的HTML DOM解析器
- 22. 使用簡單的HTML Dom庫從網頁獲取值
- 23. 使用簡單的HTML獲取當前元素DOM
- 24. 使用PHP簡單的HTML獲取表值DOM
- 25. 使用PHP獲取文本簡單的HTML DOM解析器
- 26. 獲取分頁鏈接使用PHP和簡單的html dom
- 27. 使用簡單的HTML DOM解析器獲取文本值
- 28. 簡單的HTML DOM解析器來獲取類ID
- 29. 如何用簡單的HTML DOM
- 30. XML簡單類型,簡單內容,複雜類型,complexcontent
「simple dom」意思是simplehtmldom,就像在simplehtmldom.sourceforge.net中一樣? – VolkerK 2010-02-06 16:07:50
是的,是的。 – user198729 2010-02-06 16:10:22