0

私は PHPSimpleHTML DOMパーサーを使用しています。そこから最初の数字を抽出したい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>');">&nbsp;&nbsp;<img  src="/images/icon_stats.gif" border="0" width="13" height="14" alt="Statistique annonce">&nbsp;Stats&nbsp;</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>');">&nbsp;&nbsp;<img  src="/images/button_edit.gif" border="0" width="13" height="14" alt="Modifier l'annonce">&nbsp;Modif&nbsp;</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">&nbsp;Renouv&nbsp;</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">&nbsp;Suppr&nbsp;</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パーサーの方が新しいので、誰かがこのライブラリを使用したことがある場合は、助けてください...

前もって感謝します

4

1 に答える 1

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要素です-エコーアウトした場合に何が得られるかはわかりませんが、探しているものではないと思います。

于 2012-08-24T01:25:44.193 に答える