php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.05.2007, 16:04  
Neuer Benutzer
 
Registriert seit: 06.05.2007
Beiträge: 2
SaIG
SaIG eine Nachricht über ICQ schicken
Standard Variable auf sonderZeichen checken

Hi,
stehe grade vor einem Problem ...

ich will, dass der Username nur aus "A-Z a-z 0-9 _-" besteht
habs schon mit eregi versucht aber das hatt nur teilweise funktioniert

wisst ihr wie man das am besten macht?!

Grz
SaIG
SaIG ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.05.2007, 16:20  
Erfahrener Benutzer
 
Registriert seit: 21.07.2005
Beiträge: 209
pepe24
Standard

eregi ist veraltet. Nutze stattdessen die preg_* Funktionen. Einen regulären Ausdruck für Deine Belange zu finden sollte mit google und php.net eine KLeinigkeit sein. Viel Erfolg.


EDIT: Hier noch ein kleiner Link-Tip zu einer Seite von CIX88: http://www.regex-tester.de/
pepe24 ist offline  
Alt 06.05.2007, 16:42  
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

Hallo und Willkommen SaIG!
Ohne die Strategie von pepe24 unterwandern zu wollen, Dich zu etwas Eigeninitiative anzuspornen, hier noch ein kleiner Tipp: Deine Frage enthält bereits schon 90% der Lösung. Packe alle die gewünschten Zeichen in eine Klasse ( []+ ) und teste Deinen Ausdruck z.B. unter dem angegebenen Link.
Setze Dich dann noch mit den sog. Quantifiers auseinander und fertig ist der gesuchte Ausdruck.
Viel Erfolg.

EDIT & PS:
Bitte beachten: Die Einteilung der Foren auf www.phpfriend.de richtet sich nach dem Anspruch der Aufgabenstellung und nicht nach der erwarteten Nutzergruppe, die Dir dabei helfen soll. Bitte nimm Dir auch die Zeit, die Einführung hier durchzulesen, um den richtigen Platz für Dein Posting objektiver bewerten zu können. Für ein Posting im Fortgeschrittenenforum gibt es weitere Gesichtspunkte, die Deine Fragestellung nicht erfüllt. Deshalb wurde Sie nach Anfänger verschoben.
nikosch ist offline  
Alt 06.05.2007, 21:20  
Neuer Benutzer
 
Registriert seit: 06.05.2007
Beiträge: 2
SaIG
SaIG eine Nachricht über ICQ schicken
Standard

sorry dass ich einfach gepostet habe und danke 4 den wilkommensgruss^^

aber @peppe24
ich habe google befragt und war auch viel gefunden zu dem thema aber es hat bei mir einfach nie 100%ig hingehauen sonst würde ich ja nicht posten^^

und ad Niko
jo das hatte ich alles schon in eine klasse gehauen aber leider eben hatte es nur teilweise so funktioniert wie ich das wollte^^

einführung usw werde ich mir zu gemüte führen ... (ich habe mir zwar überleg wo ich am besten den Post reinsetze aber ... nuja war wol net ganz richtig^^)

EDIT: php 4 anfänger ;( naja wennst meinst ^^
SaIG ist offline  
Alt 06.05.2007, 21:35  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Naja, wie Nikosch scho meint, hast du die Antwort auf deine Frage scho fast selber gegeben. Vielleicht wäre es interessant zu erfahren, was das "teilweise" eigentlich bedeuten soll
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 08.05.2007, 12:11  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

PHP-Code:
function checkString($string) {
    return 
preg_match('/[a-z0-9]/i'$string) ? true:false;

Hab da grad schnell was geschrieben. Würde dieser Code denn so funktionieren? D.h. würde er wirklich "true" zurückgeben wenn Zeichen im Code gefunden werden die nicht erlaubt sind (z.B. ä, ö, ü)?
duderino ist offline  
Alt 08.05.2007, 13:09  
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

auch wenn der Funktionsname etwas irreführend ist, sollte das so klappen. statt trinitätsoperator kannst du auch einfach
PHP-Code:
return (=== preg_match('/[a-z0-9]/i'$string)); 
schreiben
nikosch ist offline  
Alt 08.05.2007, 13:12  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

Hab meine Funktion gerade getestet. Die liefert mir immer true zurück, auch wenn sich im String ein Sonderzeichen befindet...

@nikosch: Welchen Vorteil hat deine "Schreibweise"?
duderino ist offline  
Alt 12.05.2007, 14:39  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

Also ich hab den Code gerade nochmal getestet und er liefert mir falsche Ergebnisse.
Hat jemand ne Idee wieso das nicht funktioniert?
duderino ist offline  
Alt 12.05.2007, 15:05  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

So, hab die Lösung. Dieser Code funktioniert:

Erlaubt werden alles Zeichen von A-Z, alle Zahlen, Bindestrich, Leerzeichen und Umlaute.
PHP-Code:
return preg_match('/[^A-Za-z0-9öäü\- ]/'$string) ? false:true
duderino ist offline  
 


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
Die Sache mit den Sonderzeichen nach und vor Formularprüfung TailerD PHP Tipps 2006 12 02.06.2006 12:58
variable wird nich erkannt. Marian PHP Tipps 2006 1 03.04.2006 21:25
Wikipedia, Sonderzeichen und file_get_contents(); pb PHP Tipps 2006 2 20.01.2006 20:02
PHPMailer findet eigene Variable net seejay PHP Tipps 2007 6 04.01.2006 12:55
problem mit variable snatch-ic PHP Tipps 2007 5 13.12.2005 13:18
Variable durch 2. Variable bestimmen Quagga PHP Tipps 2005-2 11 26.10.2005 17:34
[Erledigt] Variable wird nicht erkannt bzw ausgegeben. PHP Tipps 2005-2 4 25.10.2005 18:54
Session Variable oder Globale Variable ? PHP Tipps 2005-2 3 27.06.2005 21:49
Variable in Objekt php1 HTML, Usability und Barrierefreiheit 2 25.06.2005 08:08
[Erledigt] Variable in DB Datenbanken 1 17.04.2005 15:01
If variable $1 vorhanden dann nimm die, if variable $2 .... PHP Tipps 2005 8 13.02.2005 20:16
Variable in einer Variable Beatbox PHP Tipps 2005 7 15.01.2005 15:55
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
[Erledigt] Variable erst später definieren? PHP Tipps 2004-2 10 04.12.2004 20:23
Checken ob "Nummer" schon einmal verwendet Igäl PHP Tipps 2004-2 7 22.11.2004 17:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php variable enthält umlaut

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:28 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.