php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.12.2004, 10:56  
Gast
 
Beiträge: n/a
Standard ereg Problem

Hi Leute!

Ich möchte falsche zeichen aus einer email adresse rausfiltern... dazu würde ich die funktion ereg verwenden.

Das würde dann quasi so aussehen:

PHP-Code:
if (ereg ('[!]'$key))
    {
                 echo 
"die email addy ist fehlerhaft";
                } 
das funktioniert so auch!

aber ich möchte natürlich auch nach anderen zeichen wie z.B. "§, $, &, /" usw überprüfen.... wie kann ich diese Zeichen auch mit ins ereg einbinden? vorallem zeichen wie [ oder " die die funktion ja verwendet!

Würd mich freuen wenn ihr mir helfen könnt. hab schon fast überall gesucht, aber nie das gefunden wie ich will... ich weiß das es mit zahlen so [0-9] geht aber mit zeichen is das nicht so häufig
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.12.2004, 12:18  
Erfahrener Benutzer
 
Registriert seit: 07.10.2003
Beiträge: 122
Mutatos
Standard

So muss es gehen, habe es aber nicht getestet

ereg("[^a-zA-Z0-9 @]", $text);

Gruß
Nik
Mutatos ist offline  
Alt 09.12.2004, 13:13  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Natürlich kannst du auch andere, nicht erlaubte Zeichen in die eckigen Klammern schreiben, z.B. '[!§$&/]' und danach abfragen. Die meisten dieser Zeichen sind übrigens in einer Mail -Adresse erlaubt (http://de.wikipedia.org/wiki/E-Mail#...u_der_Adressen). Besser wäre es allerdings statt auf Ungültigkeit auf das gültige Format einer Adresse abzufragen. Dazu würde ich allerdings preg_match() verwenden, etwa so:
PHP-Code:
$allowed '\w!#$%&\'*+-\/=?^{|}~';   // "\w" steht für [0-9a-zA-Z]
$regex "/^[a-z][\.$allowed]*[$allowed]@[$allowed][\.$allowed]*\.[a-z]{2,4}$/i";

if (
preg_match($regex$adr)) 
{
    echo 
"Adresse ist korrekt
"
;
}
else 
{
     echo 
"Adresse ist fehlerhaft";

Ich denke dieser Regex deckt einen grossen Teil der Adress-Definition nach RFC 2822 ab, aber nicht alles, zwei nacheinander stehende Punkte werden z.B. nicht abgefangen.
__________________
Gruss
L
lazydog ist offline  
Alt 09.12.2004, 14:13  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://phpfriend.de/forum/viewtopic.php?t=27589
imported_Ben ist offline  
Alt 09.12.2004, 14:35  
Gast
 
Beiträge: n/a
Standard

Danke danke! Funktioniert einwandfrei!
 
Alt 13.12.2004, 08:45  
Gast
 
Beiträge: n/a
Standard

Ok, dabei gibt es noch ein Problem... Was das hier nicht abdeckt sind sonderzeichen wie " oder '... Und einbinden ist auch net so einfach, zumindest hab ichs net hinbekommen... Da er mir ein " natürlich sofort als ende des Strings ansieht... Gibts da ne möglichkeit!?
 
Alt 13.12.2004, 10:30  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Das ist ja in meinem Beispiel drin:
Code:
$allowed = '\w!#$%&\'*+-\/=?^{|}~';
Das \' steht dabei für das Anführungszeichen selbst. Wenn du doppelte verwendest (was ich in diesem Fall nicht tun würde), musst du halt dieses entsprechend maskieren: \".
__________________
Gruss
L
lazydog 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
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
[Erledigt] Problem mit ereg Funktion! Horvi PHP Tipps 2008 7 20.05.2008 14:29
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
Cookie / localhost / Problem gelöst PHP-Fortgeschrittene 11 02.11.2004 22:41
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ereg maskierung zeichen, ereg problem sonderzeichen, php ereg teil herausfiltern, php ereg() problem, ereg anführungszeichen, http://www.php.de/php-tipps-2004-2/13840-ereg-problem.html, php eregi [] maskieren, zeichen /* in mail, ereg geht nicht, ereg problem, ereg und oder zeichen, php ereg, php eregi fehler, eregi email adresse, gänsefüßchen maskieren in smarty -escape, php ereg umlaute

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