php DOM内部标签(simple_html_dom)


php DOM inner TAG ( simple_html_dom )

我有这样的html:<h2><a href="http://.... > title</h2>我怎么能得到字符串"href"?

I tried with:

include('simple_html_dom.php');
$html = file_get_html('http://...');
foreach($html->find('h2')->find('a') as $k) {
echo $k->href . '<br>';
}

错误:在非对象上调用成员函数find()

与其使用两个->find()调用,不如尝试

foreach($html->find('h2 > a') as $k) {

我自己没有使用简单DOM,所以我不确定选择器是否工作。如果没有,请尝试

foreach($html->find('a') as $k) {

并对结果进行排序

我没有使用PHP简单的HTML DOM解析器…但我认为错误可能是因为它返回了一个字符串而你在返回的字符串上应用了find函数它期望传递一个html对象。

前面的解决方案是错误的,因为它只是搜索字符串,而find函数搜索标签..

一种可能的方式是我所评论的…删除第一个'h2'查找条件,并应用所有

的'a'
foreach($html->find('a') as $k) {
echo $k->href . '<br>';
}    

其他可能的解决方案是使用php inbuild file_get_contents并按常规搜索表情……我已经为你做过了……

$html = file_get_contents('new.php');
$reg_exUrl = "/(http|https|ftp|ftps)':'/'/[a-zA-Z0-9'-'.]+'.[a-zA-Z]{2,3}('/'S*)?/";
$uql=array();
preg_match($reg_exUrl, $html, $url);
print_r($url);