请问有人知道如何使用PHP获取HTML文档中特定元素的值吗?目前我的做法是使用file_get_contents
函数从另一个网站拉取HTML代码,在该网站上有一个
请问有人知道如何使用PHP获取HTML文档中特定元素的值吗?目前我的做法是使用file_get_contents
函数从另一个网站拉取HTML代码,在该网站上有一个
不用为打扰我们感到抱歉,这是一个好问题,我很高兴回答。您可以使用PHP Simple HTML DOM解析器来获取您需要的内容:
$html = file_get_html('http://www.domain.com/');
$textarea = $html->find('textarea[id=body]');
$contents = $textarea->innertext;
echo $contents; // Outputs 'Hello World!'
file_get_contents()
,你可以这样做:$raw_html = file_get_contents('http://www.domain.com/');
$html = str_get_html($raw_html);
...
虽然我认为不需要使用file_get_contents()
,因为您可以使用outertext
方法来获取原始的、完整的HTML代码:
$html = file_get_html('http://www.domain.com/');
$raw_html = $html->outertext;
仅仅为了好玩,你也可以使用一行正则表达式来实现这个功能:
preg_match('~<textarea id="body".*?>(.*?)</textarea>~', file_get_contents('http://www.domain.com/'), $matches);
echo $matches[1][0]; // Outputs 'Hello World!'
$dom = DOMDocument::loadHTMLFile( $url );
$xpath = new DOMXPath( $dom );
$nodes = $xpath->query('//textarea[id=body]' )
$result = array();
for( $nodes as $node ) {
$result[] = $node->textContent;
}
$result
将包含每个 ID 为 body 的文本区域的值。