[PHP/RegEx] Probleme MIT Delimiter

en2k

Erfahrenes Mitglied
Hi

also, ich will aus einem String, der folgendermaßen aufgebaut ist

PHP:
[option:xx:text]

(kann dann schonmal so enden

PHP:
[option:1:text1][option:2:text2][option:3:text3][option:4:text4][option:5:text5] /* etc */

),

mit regular expressions die Optionen und die zugehörigen Texte auslesen. Hab's mal mit folgender Syntax probiert:

PHP:
eregi("\[option\:[0-9]{1,2}\:(.*)\]", $meinstring, $ergebnisarray);

da findet der Interpreter ja immerhin noch was - ja, ich weiß, '\\' am Anfang is sehr schlecht. Aaaber jetzt kommt's: Verwend ich dann einen Delimiter dazu:

PHP:
eregi("%\[option\:[0-9]{1,2}\:(.*)\]%", $meinstring, $ergebnisarray);

oder gar mit Modifier "U", "isU" oder allen möglichen denkbaren Kombinationen, kommt gar nix mehr ($ergebnisarray leer).

Ich hab mir das Tutorial durchgelesen und ansonsten funktioniert ja auch alles. Aber mittlerweile bin ich am Ende...

Bin für jede Hilfe dankbar!

Ciao, Nino
 
Ich glaub, du hast dich in der Funktion vertan.
Nimm statt eregi()...preg_match_all()...da kannst du auch Modifier einsetzen.
Code:
<?php
preg_match_all("/\[option:(\d\d?):(.*)\]/isU",$meinstring, $ergebnisarray, PREG_SET_ORDER);
for($i=0;$i<count($ergebnisarray);++$i)
    {
    echo 'Option'.$ergebnisarray[$i][1].':'.$ergebnisarray[$i][2].'<br />';
    }
?>

Wozu du dort den Delimiter brauchst, weiss ich grad nicht:rolleyes:
 
Zuletzt bearbeitet:
Zurück