steckl: regular expression problem

Beitrag lesen

Hi,

hi steckl,

hmm.... sorry wenn ich nerve, aber irgendwie will es nicht:

preg_match_all("(<table.*?>(<tr>.*?</tr>)</table>)", $content,  $loops);

Was genau willst du machen? Dass der Ausdruck in der inneren Klammer jedes mal genau ein tr-Element matcht?
Momentan suchst du innerhalb der inneren runden Klammern nach einem(!) startenden tr-Tag irgendwas dazwischen (können auch weitere tr-Tags sein) und einem(!) schließenden tr-Tag. Anschließend geht es gleich weiter mit dem schließenden table-Tag.
Du müsstest also deinem RegExp noch sagen, dass der Teil in der Klammer auch mehrfach vorkommen kann. Also musst du danach noch einen * machen.

Ich kenne reguläre Ausdrücke nur von Perl und C++, also weiß ich nicht, was die Funktion preg_match_all genau macht.
Ich bin mir nicht ganz sicher, ob du auf die einzelnen Ergebinsse zugreifen kannst, wenn du hinter die runde Klammer einen * machst.

mfG,
steckl