probleme mit preg_replace
Einklappen
X
-
Ich habe dazu auch mal eine Frage:
$USER[nick] = AB2314 (Swen);
$ref = $USER[nick];
$sref = "/(\w+) \((\w+)\)/";
$eref = "\$1";
echo preg_replace($sref, $eref, $ref);
was ich jetzt nicht verstehe ist, dass er mir immer doppelt ab2314 rausspuckt... hat da einer eine idee?
Einen Kommentar schreiben:
-
erstmal editierst du dein post, verdammt!
und dann schaust du dir das patterm nochmal aufmerksam an und überlegst dir, WAS du rausgenommen hast.
Einen Kommentar schreiben:
-
geht leider auch nicht...
Original: (setq ende "bla")(setq ende ",")
Warning: Unknown modifier '/' in F:\FoxServ\www\lisp\test.php on line 5
Ergebnis:
Ich habe nach deinem Vorschlag folgenden Code genommen:
oder war es so nicht gemeint?PHP-Code:$a = preg_replace('"(.*)"/Uis',' ',$satz);
Einen Kommentar schreiben:
-
brich den code um!
nimm aus Milian's vorschlag die whitespaces raus und versuch's nochmal.
Einen Kommentar schreiben:
-
danke aber das ersetzt bei mir gar nichts
die zeile kommt unverändert raus.(setq ende "bla")(setq ende ",")
Ich hatte es auch schon mit folgendem hinbekommen, aber
das scheint sich die Funktion "greedy" zu verhalten. d.h sie nimmt auch die Fragmente zwischen den Fundstücken, die ja nach dem Muster logisch sind, aber ich wollte natürlich nur die in den Anführungsstrichen stehenden Teile löschen.
Noch ev. andere Ideen?PHP-Code:ereg_replace('\"([[:alnum:]]|[[:digit:]]|[[:blank:]]|[[:punct:]])*\"', "", $satz);
Einen Kommentar schreiben:
-
vlt. so:
$str = preg_replace('/\s"(.*)"\s/Uis',' ',$str);
Einen Kommentar schreiben:
-
da habe ich mich ev. etwas merkwürdig ausgedrückt.
Ich möchte von dem Satz
folgendes zurückbekommen. Und es könnten mehrere Ausdrücke die mit Anführungszeichen geklammert sind vorhanden sein. die sollten natürlich alle durch ein Leerzeichen ersetzt werden.testtext "hallo" wie
testtext wie
Einen Kommentar schreiben:
-
Re: probleme mit preg_replace
das muß ja nichts heißen, das tool scheint noch recht buggy zu sein.Zumal es auf der Testseite funktionierte...
ich könnte mir vorstellen, daß du dort ein kleines wort vergessen hast? ansonsten gäbe es wirklich nicht viel sinn, so einen dicken regexp zu verwenden.ich möchte in folgender Textzeile die Ausdrücke in Anführungszeichen herausfiltern
jedes zeichen außer dem " wäre btw am einfachsten als [^"] ausgedrückt.
Einen Kommentar schreiben:
-
ich möchte in folgender Textzeile die Ausdrücke Anführungszeichen herausfilternPHP-Code:$str = str_replace('"', '', $str);
Einen Kommentar schreiben:
-
probleme mit preg_replace
Hallo, ich möchte in folgender Textzeile die Ausdrücke Anführungszeichen herausfiltern.
testtext "hallo" wie
ich habe den regulären Ausdruck in
http://pcre.nophia.de/evaluate/
getestet, da sah der Output so aus wie ich ihn haben wollte.
"([äöüßa-z- \/:._;,!\\(){}]|[0-9])*"
PHP-Code:$reg_ausdruck = "\"([äöüßa-z- \/:._;,!\\(){}]|[0-9])*\"";
In meinem PHP-Skript kommt aber, wenn ich mir die Variable $zeile mit echo ausgeben lasse nur folgendes raus:PHP-Code:$zeile = preg_replace($reg_ausdruck,"",$zeile);
\"\"
Wo liegt mein Fehler? Zumal es auf der Testseite funktionierte...Stichworte: -
Einen Kommentar schreiben: