phpbar.de logo

Mailinglisten-Archive

[php] eregi

[php] eregi

Christian Fiess Christian.Fiess_(at)_uni-konstanz.de
Tue, 23 Nov 1999 23:27:15 +0100


> also ich sage:
> if (eregi("<a href=\"http://(.*)\">", $line, $out1)) {
>       $outlink = "$out1[1]";
>       break;
>     }
> aber irgendwie bekome ich ihn nicht dazu alle links auszugeben! Wie schaffe
> ich das er alle ausgiebt? Im Moment gibt er immer nur den ersten an!

...und ich sage: eregi gibt nur das erste Vorkommen aus. Abhilfe schafft da,
den gefundenen Link aus $line zu loeschen (durch "" zu ersetzen) und die
regexp wieder drauf loslassen. Dann bekommst Du das zweite Vorkommen usw.
Ein Problem ist aber noch, dass in $out1[1] Steuerzeichen fuer eregi
vorkommen koennten, also `?´ escapen (durch "\?" ersetzen). Dann haben wir:

while (eregi("<a href=\"http://(.*)\">", $line, $out1)) {
      print $out1[0].$out1[1]."</a>; // irgendwas damit machen...;)
      $gehtdurch = ereg_replace("\?","\?",$out1[0]);
      $line = ereg_replace($gehtdurch, "", $line);
      }

Hope it helps.

Gruss, Christian


php::bar PHP Wiki   -   Listenarchive