使用PHP简单HTML DOM获取id值

使用PHP简单HTML DOM获取id值,php,dom,web-scraping,Php,Dom,Web Scraping,我有这样一个场景: 为了获得清单标题,我实现了以下代码: $page=”http://www.mywebsite.com/listings.html"; $html=新的简单html\U dom(); $html->load_文件($pagina); foreach($html->find('.listing_title')作为$element) echo$element->first_child()->明文。“'; 输出为: Listing Title 现在我需要得到id值 url

我有这样一个场景:




为了获得清单标题,我实现了以下代码:

$page=”http://www.mywebsite.com/listings.html";
$html=新的简单html\U dom();
$html->load_文件($pagina);
foreach($html->find('.listing_title')作为$element)
echo$element->first_child()->明文。“
';
输出为:

Listing Title
现在我需要得到id值

url\u id\u 1977

最好只有“1977”,没有“url\u id\u”,但我不知道该怎么做。提前谢谢

试试这个
try this

foreach($html->find('*[class=listing_title] a') as $element)
    echo $element->id. '<br>';
foreach($html->find('*[class=listing_title]a')作为$element) echo$element->id.

将此添加到您的
foreach
循环中:

echo-end(分解('''u',$element->find('a',0)->id))

要消除警告,可以将
id
分配给变量:

$id = explode('_', $element->find('a', 0)->id);
echo $id[2];
或者,如果锚定的
id
总是以
url\u id\u
开头,只需使用
str\u replace()


在foreach循环中不起作用,我得到以下错误:尝试获取非Objective的属性我需要获取id值在同一foreach中结束打印,使用此输出:Listing Title 1977使用此代码我只获取输出列表标题,而不获取id值对不起,像这样尝试foreach($html->find('*[class=Listing_Title]')作为$element)echo$element->id.
';抱歉,我错过了“a”,请尝试将此foreach($html->find('*[class=listing_title]a')作为$element)echo$element->id.
;选择器工作得很好!关于结束和分解的唯一问题,因为我得到了这个错误:严格的标准:只有变量应该通过引用传递。但是,您的代码(关于选择器)很棒!
echo str_replace('url_id_', '', $element->find('a', 0)->id);