我从示例中设置了以下代码:
<?php
$url = 'http://somedomain/something';
$content = file_get_contents($url);
$first_step = explode( '<div id="somediv">' , $content );
$second_step = explode("</div>" , $first_step[1] );
echo $second_step[0];
?>
这里的问题是我尝试获取pre标签值的网站没有ID:
<pre>some content</pre>
我也试过这个但到目前为止没有成功:
<?php
$url = 'http://somedomain/something';
$content = file_get_contents($url);
$first_step = explode( '<script>document.getElementsByTagName("pre")' , $content );
$second_step = explode("</script>" , $first_step[1] );
echo $second_step[0];
?>
基本上,我尝试从包含pre
标记但没有其他标识符的域中获取值。任何帮助表示赞赏!
答案 0 :(得分:3)
PHP附带了一个相当不错的文档解析器:
$dom = new DOMDocument;
$dom->loadHTMLFile('http://somedomain/something');
foreach ($dom->getElementsByTagName('pre') as $node) {
// do stuff with $node
echo $node->nodeValue, "\n";
}
另请参阅:DOMDocument
答案 1 :(得分:0)
有很多方法可以解析html dom元素,
对于PHP Dome解析器,请检查链接http://simplehtmldom.sourceforge.net/
对于Yahoo YQL,请使用此链接https://developer.yahoo.com/yql/
在Javascript中,Jquery还有很多解析HTML的方法。
使用方便。