![]() |
Re: PCRE: Hilfe gesucht
Zitat:
das da:
Code:
wird bei deinem Code naemlich auch nicht ersetzt ;)
blah {FOO} blah
Ich studiere mich immer noch durch die PCRE-Doku, aber so langsam kommt mir vor, dass das nicht geht. :-? Ich versuchs mal weiter, falls es nicht klappt, wird das viel Denkarbeit geben, aber erstmal gibts einen grossen Dank fuer eure Hilfe. Falls noch jemandem was einfaellt, koennt ihr es aber trotzdem gerne sagen ;) Greetz alcaeus |
Re: PCRE: Hilfe gesucht
Ja, du hast es nötig :mrgreen:
Bei folgendem Code:
Code:
Kommt das raus:
<?
header ("Content-Type: text/plain"); $text = "blah blah bla {FOO} bla2"; $text = preg_replace('##is', 'BAR', $text); echo $text; ?> Zitat:
Code:
Kommt das raus:
<?
header ("Content-Type: text/plain"); $text = "blah blah bla {FOO} bla2"; $text = preg_replace('#[color=#ff0000](#is', 'BAR', $text); echo $text; ?> Zitat:
Zitat:
|
Re: PCRE: Hilfe gesucht
Hm. Stimmt, das geht nicht. Wenn man den Beginn des Kommentars in das "Du darfst nicht" mir rein nimmt, matcht er zu wenig und ignoriert das einfach. :-(
|
Re: PCRE: Hilfe gesucht
So, ich nehme jetzt einfach den Weg drumrum, und arbeite mit 3 expressions:
Code:
Das ergibt nach dem ersten replace das:
$text = "blah blah {SOMEVAR}";
$text = preg_replace('##is', '_special_if_\\1', $text); $text = preg_replace('#\{([a-z0-9\-_]*?)\}#is', 'BAR', $text); $text = preg_replace('#_special_if_([a-z0-9\-_]+)#is', '', $text);
Code:
Nach dem zweiten:
blah _special_if_FOO blah {SOMEVAR}
Code:
Und nach dem dritten kommt das raus:
blah _special_if_FOO blah BAR
Code:
Funktioniert perfekt, vielen Dank fuer eure Hilfe :)
blah blah BAR
Greetz alcaeus |
Re: PCRE: Hilfe gesucht
Es gibt dann aber ein Problem, wenn "_special_if_FOO" im Ausgangstext auftaucht :stupid:
In dieser Hinsicht wäre es vielleicht besser, die ifs mit preg_match_all zu finden und zu entfernen, dann die Variablen zu ersetzen, und danach die ifs wieder erinzufügen :angel2: |
Re: PCRE: Hilfe gesucht
Moin Julius,
ja, da hast du (vielleicht) Recht. Nachdem ich aber selbst die Template-Variablen bestimme, hab ich das Problem nicht *g* Ich arbeite zur Zeit aber noch an einer erweiterten Version der Expression, um auch verschachtelte Ausdruecke unter Verwendung mehrerer Variablen zuzulassen ;) Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz