Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Regex problem [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Regex problem


 
burzum
13-06-2005, 12:53 
 
Ich habe ein Problem mit meinem Parser. Ich wollt ihn um eine Funktionalität erweitern und dafür benötige ich solche Konstrukte:

{foo{foo2}}

Das Problem ist nun das der Parser wie er ist folgendes findet und parst:

{foo{foo2}

Is es möglich folgendes als Regex zu formulieren:

Suche {} wenn aber nach der ersten { eine weitere { erscheint suche die 2. } nach der zweiten {

Bisher hab ich es so:
preg_match_all("/{(.*)}/U", $this->file, $this->found);

Ich muß dazu sagen, ich bin super schlecht in Regex :( Gehts zum einen überhaupt was ich vor habe und wenn ja WIE?

 
derHund
13-06-2005, 13:16 
 
das prinzip ist hier beschrieben:
http://www.php-resource.de/forum/showthread.php?s=&threadid=45908

 
burzum
14-06-2005, 01:20 
 
Vielen Dank, das ist genau das was ich suche.

Stellt sich allerdings für mich die Frage wie ich es hinkriege das er statt die { } verwendet :(

Ich habs jetzt den ganzen abend rumprobiert und es bestenfalls so hinbekommen das er [{] [/}] findet und ersetzt.

Wie krieg ichs also hin!? :confused:

$pattern = '#\[quote \]((([^\[]*)|(?R))*)\[/quote \]#isUe';

 
derHund
14-06-2005, 01:45 
 
hmm,

ich wollte gerade die mißverständlichkeit deiner aussage monieren, habe aber im quote gesehen, was du geschrieben hast ...

\{((([^\{]*)|(?R))*)\} sollte als ansatz funktionieren ...
http://pcre.nophia.de/evaluate/e1fc75b4ee67c6221ee523ab8b60d0cb/index.php#output

oder wodrum gehts dir jetzt?


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:18 Uhr.