Autor |
Beitrag |
stigge
Beiträge: 426
WinXP
Delphi 2007
|
Verfasst: Fr 28.09.07 22:47
Hallo,
ich möchte in einem PHP-Skript Strings untersuchen, ob sie andere Zeichen als A-Z, a-z, 0-9 oder _- enthalten. Mit Google habe ich einige Codes gefunden, die aber alle nicht funktionieren wollen warum auch immer.
Hiermit habe ich nach Lösungen gesucht damit ihr nicht denkt das ich nur zu faul bin:
www.google.de/search...mp;btnG=Google-Suche
Ich habe die ersten Seiten durchgesehen und habe nichts funktionierendes gefunden.
Hat jemand einen funktionierenden Code?
MfG,
Stigge
|
|
direction4delphi
Beiträge: 84
WIN 95, WIN 98, WIN ME, WIN NT, WIN 2000, WIN XP, VISTA
D2 Prof, D4 Prof,D2005 Prof, Delphi4Php
|
Verfasst: Sa 29.09.07 00:28
stigge hat folgendes geschrieben: | Hallo,
ich möchte in einem PHP-Skript Strings untersuchen, ob sie andere Zeichen als A-Z, a-z, 0-9 oder _- enthalten. Mit Google habe ich einige Codes gefunden, die aber alle nicht funktionieren wollen warum auch immer.
Hiermit habe ich nach Lösungen gesucht damit ihr nicht denkt das ich nur zu faul bin:
www.google.de/search...mp;btnG=Google-Suche
Ich habe die ersten Seiten durchgesehen und habe nichts funktionierendes gefunden.
Hat jemand einen funktionierenden Code?
MfG,
Stigge |
Regular Expressions sind dein Freund (ereg - www.php.net/ereg) oder (preg_match - www.php.net/manual/d...tion.preg-match.php)
Hier sollte alles so erklärt sein das du jede Form des Vorkommens checken kannst.
Gruß
direction
_________________ Warning: dates on calendar are closer than they appear.
|
|
r2c2
Beiträge: 324
Erhaltene Danke: 2
Linux
|
Verfasst: Sa 29.09.07 08:48
preg_replace() oder selber drüber iterieren...
mfg
Christian
_________________ Kaum macht man's richtig, schon klappts!
|
|
direction4delphi
Beiträge: 84
WIN 95, WIN 98, WIN ME, WIN NT, WIN 2000, WIN XP, VISTA
D2 Prof, D4 Prof,D2005 Prof, Delphi4Php
|
Verfasst: Sa 29.09.07 16:34
r2c2 hat folgendes geschrieben: | preg_replace() oder selber drüber iterieren...
mfg
Christian |
War ja nicht die Rede davon die Zeichen zu ersetzten, sondern nur zu checken ob diese Vorkommen - aber zum ersetzten - Bestens
Gruß
direction
_________________ Warning: dates on calendar are closer than they appear.
|
|
r2c2
Beiträge: 324
Erhaltene Danke: 2
Linux
|
Verfasst: Sa 29.09.07 17:06
direction4delphi hat folgendes geschrieben: |
War ja nicht die Rede davon die Zeichen zu ersetzten, sondern nur zu checken ob diese Vorkommen - aber zum ersetzten - Bestens
|
Tjoa... Ich war ehrlich der Meinung, dass das Ersetzen gesucht war. Deshalb hab ich statt dem schon erwähnten preg_match preg_replace vorgeschlagen... Ich sollte wohl nochmal meine Brille putzen...
mfg
Christian
_________________ Kaum macht man's richtig, schon klappts!
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Do 04.10.07 13:48
Mach dir nix draus. Laut Titel will er sie herausfiltern, was für mich ersetzen gleich kommt .
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Christian V.
Beiträge: 311
Win Xp Prof
Turbo Delphi 2005
|
Verfasst: Do 04.10.07 14:17
Das hier als RegEx verwenden:
/([^a-z\-_0-9]*)/i
Achtung: Umlaute werden so entfernt. Falls du die Umlaute behalten willst:
/([^a-z\-_0-9äöü]*)/i
_________________ Hardware runs the world, software controls the hardware, code generates software - Have You already coded today?
|
|
stigge
Beiträge: 426
WinXP
Delphi 2007
|
Verfasst: Sa 06.10.07 11:34
Sorry das ich solange nicht geantwortet habe.
Nach langem Ausprobieren funktioniert es:
Quelltext 1: 2:
| if (preg_match('#^[a-z0-9-_]*$#i', $string) == 0) {echo "nicht ok";}else{ echo "ok";} |
Danke für die Hilfe!
P.S.: Ich wollte nur überprüfen ob Sonderzeichen vorkommen, nicht sie ersetzen. Der Titel war echt etwas irreführend, stimmt schon
|
|