Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, vou direto ao ponto pois creio que seja simples, eu realmente não consigo usar as expressões regular da forma correta, suponhamos que eu tenha o seguinte html:
<tr>
<td align="center" bgcolor="#f0f5e7">02A</td>
<td bgcolor="#f0f5e7">Materia 1</td>
<td align="center" bgcolor="#f0f5e7">M</td>
<td align="right" bgcolor="#f0f5e7">-</td>
<td align="right" bgcolor="#f0f5e7">-</td>
<td align="right" bgcolor="#f0f5e7">0,00</td>
<td align="right" bgcolor="#f0f5e7">-</td>
<td align="right" bgcolor="#f0f5e7">0,00</td>
<td align="right" bgcolor="#f0f5e7">0,00</td>
<td align="right" bgcolor="#f0f5e7">0,00</td>
<td align="right" bgcolor="#f0f5e7">0,00</td>
<td align="right" bgcolor="#f0f5e7">0</td>
<td align="center" bgcolor="#f0f5e7">AP</td>
</tr>
<tr>
<td align="center" bgcolor="#d7e6ed">02A</td>
<td bgcolor="#d7e6ed">Materia 2</td>
<td align="center" bgcolor="#d7e6ed">M</td>
<td align="right" bgcolor="#d7e6ed">5,00</td>
<td align="right" bgcolor="#d7e6ed">8,50</td>
<td align="right" bgcolor="#d7e6ed">6,50</td>
<td align="right" bgcolor="#d7e6ed">-</td>
<td align="right" bgcolor="#d7e6ed">6,75</td>
<td align="right" bgcolor="#d7e6ed">2,00</td>
<td align="right" bgcolor="#d7e6ed">2,00</td>
<td align="right" bgcolor="#d7e6ed">4,00</td>
<td align="right" bgcolor="#d7e6ed">20</td>
<td align="center" bgcolor="#d7e6ed">AP</td>
</tr>
E essa sequencia repete por x vezes sempre alterando ali o bgcolor.
Preciso dividir em arrays pela tags <td>(*)</td> e se não houvesse essas trocas do align e bgcolor eu provavelmente conseguiria fazer.
Ja tentei de várias formas e as mais próximas foram essas:
preg_match_all('#<td align="center"(.*?)</td>#s',$pagina_notas,$result1);
preg_match_all('#<td align="right"(.*?)</td>#s',$pagina_notas,$result2);
Resumindo, preciso que seja ignorado o conteúdo que dentro do align e bgcolor.
Muito grato desde já!
Basta usar o mesmo (.*?) duas vezes:
preg_match_all('#<td(.?)>(.?)</td>#s',$pagina_notas,$result1);
Resultado:
Array
(
Mas dá uma pesquisada por DOMDocument, acredito que no seu contexto ele vai ser melhor do que ER.