Unterschied zwischen ereg_replace und preg_replace?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
antworten
behandeln
benutzen
bevorzugen
buchstabe
code
ersetzen
fehler
gleiche syntax
http
jemand
manual
null
schlauch
sicherheit
unterschied
url
vorkommen
zahl
zeichenkette
-
hallo,
was ist denn der unterschied zwischen ereg_replace und preg_replace?
im mom habe ich meine sicherheit auf diese weise gelöst:
ereg_replace("[^A-Za-z0-9]", "", $_POST['username'])
ereg_replace soll es ja bald nicht mehr geben. dadurch das die seite für jemand anderst ist, muss ich das ja abändern.
ich habe nach preg_replace geschaut?
wie sieht der code da aus? also irgendwie stehe ich gerade auf dem schlauch denn eigentlich ist das doch die gleiche syntax oder?
also:
preg_replace("[^A-Za-z0-9]", "", $_POST['username'])
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Nicht ganz, preg_replace solte so ausehen:
preg_replace("/[^A-Za-z0-9]/", "", $_POST['username'])
der Unterschied liegt vorwiegend in der Varbeitung und für dich darin, dass preg_replace eine zu perl kompatible syntax hat.
siehe dazu auch:
http://de3.php.net/manual/de/function.preg-replace.php
http://de3.php.net/manual/de/function.ereg-replace.php
Wenn du nur prüfen willst, ob die Zeichenkette deinem RegEx entspricht, schaue dir doch mal preg_match() an. -
In PCRE (welches in preg_ genutzt wird), sieht dein Regex so aus: `/\W/`. `/` sind die Delimiter, welche den eigentlichen Regex von den Identifiern trennt. `\W` ist äquivalent zu `[^A-Za-z0-9]` (das kannst du natürlich auch benutzen, aber `\W` sollte hier zu bevorzugen sein.
$str = preg_replace('/\W/', '', $str);
-
highborn schrieb:
woher weiß ich was /w ist?
Schaue dir dazu mal die Vordefinierten Zeichenklassen für Reguläre Ausdrücke an. z.B. http://de.wikipedia.org/wiki/Regulärer_Ausdruck#Vordefinierte_Zeichenklassen
Ja, kannst du so ändern. Wenn das eine Sicherheits überprüfung ist, bietet es sich aber evtl. auch an einfach zu überprüfen ob nur Zeichen vorkommen die erlaubt sind und falls das nicht der fall ist, dieses als Fehler zu behandeln (-> Script abbrechen oder Variable auf NULL setzten und Fehler abfangen). -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage