php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.10.2006, 04:27  
Benutzer
 
Registriert seit: 15.01.2004
Beiträge: 68
Dave Waterstone
Dave Waterstone eine Nachricht über ICQ schicken Dave Waterstone eine Nachricht über Yahoo! schicken
Standard Hilfe bei Preg_match

Hi Leute....

Hab so ein bischen die Übersicht verloren....
Vielleicht kann mir hier einer helfen?

Code:
preg_match('/^([a-z]|[A-Z]|[0-9]|[\_]|[\-]){0,1}([a-z]|[A-Z]|[0-9])+([\_]|[\-]|[\ ]){0,1}([a-z]|[A-Z]|[0-9])+([a-z]|[A-Z]|[0-9]|[\_]|[\-]){0,1}$/', $nick)
Zur Zeit nutze ich dieses Preg....
Aber nun möchte ich es erweitern, so das auch Nicks zugelassen werden die aus drei Teilen oder mehr bestehen....

Zur Zeit lasse ich ja nur zwei teile zu.

Es sollen also auch Namen wie

"Ich bin ein Name"

zugelassen werden....
__________________
.::Wenn das Rauskommt, wo ich überall reinkomme, komme ich da Rein, wo ich so schnell nicht mehr Rauskomme::.
.:ie drei natürlichen Feinde des WebWorkers: Frischluft, Sonnenschein und das unerträgliche Gebrüll der Vögel.::
Dave Waterstone ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.10.2006, 10:35  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Machs doch nicht komplizierter als es ist. Lass alle Nicknames zu, die aus Buchstaben, Zahlen, Unterstrich, Bindestrich bestehen und nicht mit Leerzeichen anfangen oder aufhören:
PHP-Code:
<?php
$sNickname 
trim($sNickname);
preg_match('#^[\w\d\_\- ]$#i'$sNickname)
?>
Zergling-new ist offline   Mit Zitat antworten
Alt 21.10.2006, 11:42  
Benutzer
 
Registriert seit: 15.01.2004
Beiträge: 68
Dave Waterstone
Dave Waterstone eine Nachricht über ICQ schicken Dave Waterstone eine Nachricht über Yahoo! schicken
Standard

danke....super...
wenn ich deines sehe und meines wird mir ganz anders...
wie ich reguläres hasse^^
__________________
.::Wenn das Rauskommt, wo ich überall reinkomme, komme ich da Rein, wo ich so schnell nicht mehr Rauskomme::.
.:ie drei natürlichen Feinde des WebWorkers: Frischluft, Sonnenschein und das unerträgliche Gebrüll der Vögel.::
Dave Waterstone ist offline   Mit Zitat antworten
Alt 21.10.2006, 15:44  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Tipp für die Zukunft:
explizite Klassenaufzählungen können alle in ein Paar eckige Klammern, das entspricht einem Oder mit |
([a-z]|[A-Z]|[0-9]|[\_]|[\-]){0,1}
zu
[a-zA-Z0-9\_\-]{0,1}
Wenn die Schreibweise egal ist, kannst Du den Ausdruck mit mit einem abschließenden i auf case-insesitive schalten. Das spart nochmal die Unterscheidung a-z und A-Z.
Beim \w solltest du prüfen, ob die Umlaute öäüÖÜÄß richtig erkannt werden. Ich glaube das ist unterschiedlich je nach Systemumgebung
nikosch ist offline   Mit Zitat antworten
Alt 21.10.2006, 15:51  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

grad gesehen.
Basti: Deine Ausdrücke lassen aber gar keine Leerzeichen zu oder? Anfang und Ende mit trim (). Auch hab ich grad gelesen \w enthält bereits den Underscore
Mein Vorschlag:
#^[\w\d\-](?:\s?[\w\d\-])*\s?[\w\d\-]$#i
das könnte klappen
nikosch ist offline   Mit Zitat antworten
Alt 21.10.2006, 17:53  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von nikosch77
grad gesehen.
Basti: Deine Ausdrücke lassen aber gar keine Leerzeichen zu oder? Anfang und Ende mit trim (). Auch hab ich grad gelesen \w enthält bereits den Underscore
Mein Vorschlag:
#^[\w\d\-](?:\s?[\w\d\-])*\s?[\w\d\-]$#i
das könnte klappen
Falls du mich meinst: Vielleicht sieht man das Leerzeichen vor der schließenden eckigen Klammer nicht, da soll zumindest eins rein.
Dass der Underscore zu \w gehört wußte ich garnicht, danke für den Hinweis.
Zergling-new ist offline   Mit Zitat antworten
Alt 21.10.2006, 19:49  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

ja sorry, ich meinte den Affen-Moderator :wink:
nikosch ist offline   Mit Zitat antworten
Alt 22.10.2006, 11:50  
Benutzer
 
Registriert seit: 15.01.2004
Beiträge: 68
Dave Waterstone
Dave Waterstone eine Nachricht über ICQ schicken Dave Waterstone eine Nachricht über Yahoo! schicken
Standard

danke, ich teste mal
__________________
.::Wenn das Rauskommt, wo ich überall reinkomme, komme ich da Rein, wo ich so schnell nicht mehr Rauskomme::.
.:ie drei natürlichen Feinde des WebWorkers: Frischluft, Sonnenschein und das unerträgliche Gebrüll der Vögel.::
Dave Waterstone ist offline   Mit Zitat antworten
Alt 22.10.2006, 13:01  
Benutzer
 
Registriert seit: 15.01.2004
Beiträge: 68
Dave Waterstone
Dave Waterstone eine Nachricht über ICQ schicken Dave Waterstone eine Nachricht über Yahoo! schicken
Standard

leider bekomme ich das mit den vorschlägen auch nicht hin....


habe es nun ein wenig probiert...

Code:
[\w\d\-](?:\s?[\w\d\-])*\s?[\w\d\-]$#i
Dies sagt mit wenigstens das

ich fröstel ein wenig@@@
nicht zugelassen wird.
@@@ich fröstel ein wenig
wird aber als ok gewärtet weil ich ja im Ausdruck kein #^ am anfang gesetzt habe.
Setzte ich es aber, wird nicht einmal
ich fröstel ein wenig
als true übergeben.

Code:
^[\w\d\-](?:\s?[\w\d\-])*\s?[\w\d\-]$#i
so scheint es nun zu klappen. also ohne das # am anfang
__________________
.::Wenn das Rauskommt, wo ich überall reinkomme, komme ich da Rein, wo ich so schnell nicht mehr Rauskomme::.
.:ie drei natürlichen Feinde des WebWorkers: Frischluft, Sonnenschein und das unerträgliche Gebrüll der Vögel.::
Dave Waterstone ist offline   Mit Zitat antworten
Alt 22.10.2006, 13:05  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Verschwend doch nicht so viel Zeit auf die Nickname-Validierung!
Was für Namen willst du denn jetzt zulassen, dass mein RegExp nicht ausreicht?
Zergling-new ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datenbanktabelle erstellen - brauche Hilfe Raccoon PHP Tipps 2008 1 14.06.2008 11:03
[Erledigt] Hilfe: Projektabreit Informatik und Technik bitte helft uns. Off-Topic Diskussionen 31 05.04.2006 18:25
PHP <--> MySQL | Brauche Hilfe ahnungsloser Datenbanken 18 16.02.2006 21:49
[Erledigt] HILFE HILFE HILFE mysqladmin.exe fehlt Datenbanken 7 20.12.2005 14:00
HILFE ! Brauche ganz dringend hilfe! PHP Tipps 2005-2 2 10.10.2005 23:08
Hilfe, Ich brauche hilfe! Kevin PHP Tipps 2005-2 2 27.09.2005 19:31
Hilfe bei kleiner Funktion PHP Tipps 2005-2 1 24.08.2005 09:35
wiedermal n neuling der hilfe braucht !!! Thema: include PHP Tipps 2005-2 7 18.07.2005 09:57
[Erledigt] VARIABLEN WERDEN NICHT RICHTIG VERARBEITET!!!! HILFE PHP Tipps 2005-2 6 02.07.2005 18:32
[Erledigt] Hilfe! If Tags werden Ignoriert PHP Tipps 2005 10 16.05.2005 10:16
[Erledigt] HILFE PHP Tipps 2004-2 1 16.12.2004 20:49
Hilfe!!! PHP + EXE-Dateien und Interface Beitragsarchiv 4 16.12.2004 11:50
[Erledigt] Chat Server mit Datenbank realisieren - - - Hilfe benötigt PHP Tipps 2004-2 3 14.12.2004 18:38
PHP, Frontpage -----> HILFE!!!! HTML, Usability und Barrierefreiheit 4 30.11.2004 15:00
Suche -dringend- Hilfe zu einem Smily Mod! <- HiLFE - :-) PHP Tipps 2004-2 0 07.11.2004 13:50

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
preg_match bindestrich, php preg_match bindestrich, preg_match bindestrich zulassen, preg_match [\\d\\s\\w], preg_match buchstaben zahlen unterstrich, bindestrich erlauben php preg match, preg_match \zwischen eckigen klammern\, php preg_match(\'/^\\w $/\', trim(, php preg_match leerzeichen werden nicht erkannt, preg_match leerzeichen am anfang, preg_match(\'/^[\\w\\d\\#] $/\',, php mit preg_match bindestrich bei vornamen zulassen, preg_match - bindestrich, preg match teilen nach leerzeciuhen, preg_match bindestrich suchen, preg_match(\'/msie/i tutorial, preg_match, nur bindestrich unterstrich zahlen und buchstaben erlauben php, preg_match leerzeichen, preg_match /^[\\w\\d] $/

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:22 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.