probleme mit preg_replace
Collapse
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?
Leave a comment:
-
erstmal editierst du dein post, verdammt!
und dann schaust du dir das patterm nochmal aufmerksam an und überlegst dir, WAS du rausgenommen hast.
Leave a comment:
-
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);
Leave a comment:
-
brich den code um!
nimm aus Milian's vorschlag die whitespaces raus und versuch's nochmal.
Leave a comment:
-
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);
Leave a comment:
-
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
Leave a comment:
-
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.
Leave a comment:
-
ich möchte in folgender Textzeile die Ausdrücke Anführungszeichen herausfilternPHP Code:$str = str_replace('"', '', $str);
Leave a comment:
-
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...Tags: None
Leave a comment: