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:
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
(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.
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
testtext "hallo" wie
testtext wie
Einen Kommentar schreiben:
-
Re: probleme mit preg_replace
Zumal es auf der Testseite funktionierte...
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])*\"";
PHP-Code:$zeile = preg_replace($reg_ausdruck,"",$zeile);
\"\"
Wo liegt mein Fehler? Zumal es auf der Testseite funktionierte...Stichworte: -
Einen Kommentar schreiben: