我試圖用PhpQuery解析一些HTML,但它對我來說並不容易...如何通過PhpQuery使用Foreach?
我只需要提取URL(href標籤)到一個數組,但它不工作。
請參閱只是爲了舉例驗證碼:
$doc = phpQuery::newDocumentHTML('<div align = "left" style="background-color:#FFFFFF;border:1px solid #C3D9FF"> </p>
<table cellPadding="2" cellSpacing="0" width="100%" height="60" style="border-collapse: collapse; ">
<tr>
<td align="left" width="531" height="20"><small>
<strong>
<a href="/1153414/">
<font style="FONT-SIZE: 13px; LINE-HEIGHT: 14px">Industrial</font><a/> </a></small></strong>
</td>
</tr>
<tr>
<td align="left" vAlign="top" width="100%" height="1">
<table align="left" border="0" cellPadding="0" cellSpacing="0" width="736">
<tr>
<td align="left" vAlign="top" width="67">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">
Data:</font></strong></td>
<td align="left" vAlign="top" width="150">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> 4-1-2011 </font></td>
<td align="left" vAlign="top" width="59">
<font color="#000000" face="Arial" size="2">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Zona:</font></strong></td>
<td align="left" vAlign="top" width="473">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Castelo Branco</font></td>
</tr>
<tr>
<td align="left" vAlign="top" width="67">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Categoria:</font></strong></td>
<td align="left" vAlign="top" width="150">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Indústria/Produção </font></td>
<td align="left" vAlign="top" width="59">
<font color="#000000" face="Arial" size="2">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Empresa:</font></strong></td>
<td align="left" vAlign="top" width="473">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Isotransfo, Unipessoal LDA</font></td>
</tr>
</table>
</td>
</tr>
</table>
</p>
<table cellPadding="2" cellSpacing="0" width="100%" height="60" style="border-collapse: collapse; ">
<tr>
<td align="left" width="531" height="20"><small>
<strong>
<a href="/1153399/">
<font style="FONT-SIZE: 13px; LINE-HEIGHT: 14px">Admite-se<a/> </a> </font></small></strong>
</td>
</tr>
<tr>
<td align="left" vAlign="top" width="100%" height="1">
<table align="left" border="0" cellPadding="0" cellSpacing="0" width="736">
<tr>
<td align="left" vAlign="top" width="67">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">
Data:</font></strong></td>
<td align="left" vAlign="top" width="150">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> 4-1-2011 </font></td>
<td align="left" vAlign="top" width="59">
<font color="#000000" face="Arial" size="2">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Zona:</font></strong></td>
<td align="left" vAlign="top" width="473">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Castelo Branco</font></td>
</tr>
<tr>
<td align="left" vAlign="top" width="67">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Categoria:</font></strong></td>
<td align="left" vAlign="top" width="150">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Indústria/Produção </font></td>
<td align="left" vAlign="top" width="59">
<font color="#000000" face="Arial" size="2">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Empresa:</font></strong></td>
<td align="left" vAlign="top" width="473">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Isotransfo, Unipessoal LDA</font></td>
</tr>
</table>
</td>
</tr>
</table>
</p>
<table cellPadding="2" cellSpacing="0" width="100%" height="60" style="border-collapse: collapse; ">
<tr>
<td align="left" width="531" height="20"><small><font face="Arial">
<strong>
<a href="/1153280/">
<font style="FONT-SIZE: 13px; LINE-HEIGHT: 14px">Precisa-se</font><a/> </a> </font></small></strong>
</td>
</tr>
<tr>
<td align="left" vAlign="top" width="100%" height="1">
<table align="left" border="0" cellPadding="0" cellSpacing="0" width="736">
<tr>
<td align="left" vAlign="top" width="67">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">
Data:</font></strong></td>
<td align="left" vAlign="top" width="150">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> 4-1-2011 </font></td>
<td align="left" vAlign="top" width="59">
<font color="#000000" face="Arial" size="2">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Zona:</font></strong></td>
<td align="left" vAlign="top" width="473">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> (Todas as Zonas)</font></td>
</tr>
<tr>
<td align="left" vAlign="top" width="67">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Categoria:</font></strong></td>
<td align="left" vAlign="top" width="150">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Saúde/Medicina/Enfermagem </font></td>
<td align="left" vAlign="top" width="59">
<font color="#000000" face="Arial" size="2">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Empresa:</font></strong></td>
<td align="left" vAlign="top" width="473">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Emprego Radiologia</font></td>
</tr>
</table>
</td>
</tr>
</table>
</p>
<table cellPadding="2" cellSpacing="0" width="100%" height="60" style="border-collapse: collapse; ">
<tr>
<td align="left" width="531" height="20"><small><font face="Arial">
<strong>
<a href="/1152665/">
<font style="FONT-SIZE: 13px; LINE-HEIGHT: 14px">Operadores</font><a/> </a> </font></small></strong>
</td>
</tr>
<tr>
<td align="left" vAlign="top" width="100%" height="1">
<table align="left" border="0" cellPadding="0" cellSpacing="0" width="736">
<tr>
<td align="left" vAlign="top" width="67">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">
Data:</font></strong></td>
<td align="left" vAlign="top" width="150">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> 4-1-2011 </font></td>
<td align="left" vAlign="top" width="59">
<font color="#000000" face="Arial" size="2">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Zona:</font></strong></td>
<td align="left" vAlign="top" width="473">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Viseu</font></td>
</tr>
<tr>
<td align="left" vAlign="top" width="67">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Categoria:</font></strong></td>
<td align="left" vAlign="top" width="150">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Lojas/Comércio/Balcão </font></td>
<td align="left" vAlign="top" width="59">
<font color="#000000" face="Arial" size="2">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Empresa:</font></strong></td>
<td align="left" vAlign="top" width="473">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Dia Portugal Supermercados - Soc. Unip., Lda.</font></td>
</tr>
</table>
</td>
</tr>
</table>
</p>
<table cellPadding="2" cellSpacing="0" width="100%" height="60" style="border-collapse: collapse; ">
<tr>
<td align="left" width="531" height="20"><small><font face="Arial">
<strong>
<a href="/1153524/">
<font style="FONT-SIZE: 13px; LINE-HEIGHT: 14px">Responsável</font><a/> </a> </font></small></strong>
</td>
</tr>
<tr>
<td align="left" vAlign="top" width="100%" height="1">
<table align="left" border="0" cellPadding="0" cellSpacing="0" width="736">
<tr>
<td align="left" vAlign="top" width="67">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">
Data:</font></strong></td>
<td align="left" vAlign="top" width="150">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> 4-1-2011 </font></td>
<td align="left" vAlign="top" width="59">
<font color="#000000" face="Arial" size="2">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Zona:</font></strong></td>
<td align="left" vAlign="top" width="473">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Santarem</font></td>
</tr>
<tr>
<td align="left" vAlign="top" width="67">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Categoria:</font></strong></td>
<td align="left" vAlign="top" width="150">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> Comercial/Vendas </font></td>
<td align="left" vAlign="top" width="59">
<font color="#000000" face="Arial" size="2">
<strong style="FONT-SIZE: 11px; LINE-HEIGHT: 14px; font-weight:400">
<font face="Arial" color="#333333" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px">Empresa:</font></strong></td>
<td align="left" vAlign="top" width="473">
<font face="Arial" style="FONT-SIZE: 11px; LINE-HEIGHT: 14px"> ALDI Supermercados Lda.</font></td>
</tr>
</table>
</td>
</tr>
</table>
</div>');
//echo $doc['div table a']->attr('href');
foreach ($doc['div table a'] as $a) {
$hrefs[] .= pq($a)->attr('href');
}
print_r ($hrefs);
如果我回聲出碼波紋管得到它是我唯一href網址,並且它是確定:
echo $doc['div table a']->attr('href');
如果我運行foreach語句我得到了一個空值的數組:
foreach ($doc['div table a'] as $a) {
$hrefs[] .= pq($a)->attr('href');
}
print_r ($hrefs);
我得到的數組是:
Array (
[0] => /1153414/
[1] =>
[2] => /1153399/
[3] =>
[4] => /1153280/
[5] =>
[6] => /1152665/
[7] =>
[8] => /1153524/
[9] =>
)
怎樣才能像這樣的數組:
Array (
[0] => /1153414/
[1] => /1153399/
[2] => /1153280/
[3] => /1152665/
[4] => /1153524/
)
如果你可以給我一些線索,我將不勝感激。
對不起我的英文不好
最好的問候,
如何!我懂了。 HTML不是我的,來自我需要取消的網站。謝謝您的幫助。 – 2011-01-05 10:19:07