如果你想提取一些HTML字符串的一些數據,最好的辦法就是經常與DOMDocument
類工作,即可以加載HTML到DOM樹。然後,您可以使用任何與DOM相關的方式提取數據,例如,XPath查詢。
在這裏,你可以使用這樣的事情:
$html = <<<HTML
<form action="blabla.php" method=post>
<input type="text" name="campaign">
<input type="text" name="id" value="this-is-what-i-am-trying-to-extract">
</form>
HTML;
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$tags = $xpath->query('//input[@name="id"]');
foreach ($tags as $tag) {
var_dump(trim($tag->getAttribute('value')));
}
而且你會得到:
string 'this-is-what-i-am-trying-to-extract' (length=35)
任何機會,你可以換一種說法?你想在你的php腳本發佈時獲得輸入控件的值嗎?如果這是非常基本的。還不確定關於正則表達式的評論在這種情況下有什麼? – spinon 2010-07-14 19:17:34
這是在生成頁面(用php)還是在表單提交後? – 2010-07-14 19:17:37
@spinon我認爲他指的是[正確]「你不能用正則表達式解析HTML」的答覆,但我認爲他還沒有意識到,即使你可以,他也不想這樣做。 – 2010-07-14 19:18:56