我們有html頁面,裏面有很多代碼。通過PHP獲取html塊
有時它有阻止#container
,有時不。
此頁面的所有代碼在$page
變量內。
我如何:
- 檢查,是否有與
id="container"
屏蔽? - 如果html頁面裏面有
#container
,那麼得到它的內容並寫入變量$container
。
任務應該由php完成。
我們有html頁面,裏面有很多代碼。通過PHP獲取html塊
有時它有阻止#container
,有時不。
此頁面的所有代碼在$page
變量內。
我如何:
id="container"
屏蔽?#container
,那麼得到它的內容並寫入變量$container
。任務應該由php完成。
解決您的問題的可能方法之一是使用第三方庫。比方說,http://simplehtmldom.sourceforge.net/:
$html->load($page);
if ($html->find('#container')) $container = $html->find('#container');
正則表達式是在這裏你的朋友。
祝您HTML解析之旅
正則表達式是解析HTML的可怕解決方案。 – 2011-03-03 19:37:10
有很多[HTML解析器(http://stackoverflow.com/questions/292926/robust-mature-html-parser-for-php)可用於PHP 。 – NullUserException 2011-03-03 19:32:50
@NullUserException並且它們很慢。鑑於一個id只能使用一次,使用正則表達式來檢查'id =「container」',那麼如果有必要的話,只需啓動解析器就可以獲得性能。 – Endophage 2011-03-03 19:40:51