我正在使用PHP Simple HTML DOM Parser我有一些HTML代码,我希望从中提取第一个数字,在此示例中为“735438
”:
<!-- Some Tds without onclick atribute ->
<td onclick="StatsAnnonce ('735438');" style="CURSOR:pointer;" onmouseover="return escape('<img src=/images/icon_stats.gif border=0 width=13 height=14> <b>Statistiques de cette annonce</b><li>Affichages des détails annonce</li><li>Classement par mois et par pays.</li>');"> <img src="/images/icon_stats.gif" border="0" width="13" height="14" alt="Statistique annonce"> Stats </td>
<td onclick="ModifAnnonce ('735438','1','302528');" style="CURSOR:pointer;" onmouseover="return escape('<img src=/images/button_edit.gif border=0 width=13 height=14> <b>Editer cette annonce</b><li>Modifier : titre, texte, prix</li><li>Ajouter/Supprimer des photos</li>');"> <img src="/images/button_edit.gif" border="0" width="13" height="14" alt="Modifier l'annonce"> Modif </td>
<td onclick="ProlongerAnnonce ('735438');" style="CURSOR:pointer;" onmouseover="return escape('<img src=/images/button_calendar.gif border=0 width=14 height=14> <b>Renouveler cette annonce</b>');"><img src="/images/button_calendar.gif" border="0" width="14" height="14" alt="Renouveler l'annonce"> Renouv </td>
<td onclick="DeleteAnnonce('735438','06/08/2012 00:50','302528','Bon appart s+1');" style="CURSOR:pointer;" onmouseover="return escape('<img src=/images/button_trash.gif border=0 width=13 height=14> <b>Supprimer cette annonce</b>');"><img src="/images/button_trash.gif" border="0" width="13" height="14" alt="Supprimer l'annonce"> Suppr </td>
我已尝试使用此代码(根据文档说明)但无法正常工作:
$html = str_get_html('page.html');
// Find all <td> with the 'onclick' as attribute
$ret = $html->find('td[onclick]');
// Find just all <td>
$ret = $html->find('td');
foreach($ret as $val)
{
echo $val."<br/>";
}
结果只是一个没有代码的空白页面...... 我是新的HTML DOM Parser,如果有人使用这个库帮助我...
提前致谢
答案 0 :(得分:1)
首先,我确保你实际上正在阅读文档(我很确定你不是在这一点上)。你应该使用:
$html = file_get_html('page.html'); // This!
//$html = str_get_html('page.html'); // Not this!
假设您尝试从onclick
属性中提取信息,您似乎应该在foreach
循环中使用此信息:
echo $val->onclick . "<br/>"; // This!
//echo $val."<br/>"; //Not this!
$val
在这一点上仍然是一个HTML元素 - 我不确定如果你回应它会得到什么,但我猜它不是你想要的。