Witam,
Pisze cos na zasadzie parsera zrodla strony internetowej. Niestety wyrazenia regularne i funkcje PHP z tym zwiazane nie sa mi dobrze znane wiec prosilbym o pomoc. Mam nastepujace zrodlo strony:
[xml]
<TD class=txt>
<CENTER>
<TABLE cellSpacing=0 cellPadding=0 width="100%"
border=0>
<TBODY>
<TR>
<TD class=cz1>Title</TD></TR>
<TR>
<TD height=4></TD></TR>
<TR>
<TD class=txt>Content 1<BR></B></TD></TR>
<TR>
<TD height=8></TD></TR>
<TR>
<TD class=txt>CONTENT 2
<BR></TD></TR></TBODY></TABLE></CENTER></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
<TD width=1></TD>
[/xml]
Z tego dokumentu chcialbym wyciagnac tytul oraz Content 1 i Content 2.
Napisalem prosty fragment kodu PHP (prosze o nieocenianie jakosci):
[php]
<?php
$file = file_get_contents('lok.html');
preg_match_all("|<TD class=cz1>(.*?)</TD>|",$file,$outTitle);
// echo $file;
echo $outTitle[0][0].'<br />';
// echo count($outTitle);
// echo $outTitle[0][1];
// echo $outTitle[1][0];
// echo $outTitle[1][1];
preg_match_all("|<TD class=txt>(.*)</TD>|",$file,$outContent);
echo $outContent[0][0].'<br />';
?>
[/php]
Kod html zapisany jest w pliku wczytywanym przez funkcje file_get_contents.
Do pierwszej tablicy ($outTitle) trafia tytul artykulu bez problemu i jest "echowany" wlasciwie.
Natomiast przy probie pobrania wszystkiego z npomiedzy [xml]<TD class=txt></TD>[/xml] niestety nie udaje mi sie wydobyc nic...
Bede wdzieczny za sugestie i pomoc.
Z gory dziekuje i pozdrawiam.
[php] Problem z preg_match_all
-
tommy_from_cracow
- Posty: 1
- Rejestracja: czw lip 24, 2008 11:15 am