Mailinglisten-Archive |
Andreas Zaugg - CAB Services AG wrote:
>
> z.B. eregi("<#(.*)#>",$string);
>
> Schön wäre es jetzt wenn ich in der gleichen Zeile nochmals
> einen tag finden würde und dies in einem array abspeichern
> könnte:
>
> "bla bla bla <# tag1 #> bla bla <# tag2 #> bla"
> ^^^^^^^^^^ ^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^
Die ereg-Funktionen wuerden das markierte komplett matchen, da sie immer
greedy sind. (Erfind doch mal bitte wer deutsches Vokabular dafuer ;) Du
haettest also den String " tag1 #> bla bla <# tag2 " als Match.
Was du suchst, sind die preg-Funktionen, insbesondere preg_match_all().
z.B.
if (preg_match_all("/<#(.*)#>/", $string, $results, PREG_PATTERN_ORDER))
{
$tags=$results[1];
while(list(,$cur_tag)=each($tags)) {
print($cur_tag."\n");
}
}
Habs nicht getestet, sollte aber so funzen.
Den Rest findest du auf
http://www.php.net/manual/function.preg-match-all.php
Gruss, Markus
php::bar PHP Wiki - Listenarchive