php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.07.2009, 13:08  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard [Erledigt] RegEx funktioniert im Tester, aber nicht im Script

Moin,

Regular Expressions sind ja nicht ohne, wa...
Nun, ich vewende folgende Syntax:
PHP-Code:
preg_match("^([a-zA-Z0-9\._-]+)@([a-zA-Z0-9\._-]{3,})\.([a-zA-Z]{2,3}$)",$email,$match
und bekomme folgende Warnung:
Code:
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in /var/www/vhosts/dp-one.com/subdomains/testbereich/httpdocs/test.php on line 34
Ich weiß, daß die Expression wahrscheinlich verbesserungswürdig ist...
Aber sind meine ersten konkreten Ansätze mich mit echten RegExes anzufreunden.

Die Expression habe ich mir in einem RegEx-Tester zusammen "geklöppelt" und anschließend per Copy/Paste fehlerfrei übernommen.

Hat einer ne Idee, warum es im RegEx-Tester einwandfrei funktioniert und im obigen Beispiel dann mit einer Warnung versehen wird?

Danke schön!
Arne Drews ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.07.2009, 13:10  
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

lass mich das für dich Googlen
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 09.07.2009, 13:10  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

No ending delimiter !!!
Du hast ^als delimiter eingesetzt also mach vor und hinter Dein expression zB ein /
HPR1974 ist offline  
Alt 09.07.2009, 13:20  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

So schnell kanns gehen!!!

Vielen Dank, mit / funktioniert es!
Wobei ich allerdings noch keine Erklärung dafür finde, warum es im Tester funzt?!
Haben die da vielleicht so'ne automatische "Maskierung"?

Egal, läuft.
Danke Euch beiden!


@nikosch:
gegoogelt hab' ich natürlich, aber weiter gebracht hats mich halt nicht.
Aber cooler Link, muß ich mir merken...
Arne Drews ist offline  
Alt 09.07.2009, 13:23  
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

Es ging nicht um den Link, sondern um das erste Ergebnis der Suche, in dem die Antwort stand.

Es geht auch nicht um Maskierung.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 09.07.2009, 13:36  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Jepp! Alles klar...
Du wolltest mich darauf hinweisen, daß ein abschliessendes "^" auch gereicht hätte?
Klappt auch!

Aber das "^" besagt laut Tutorial, aus dem ich versucht habe zu lernen, daß es sich um den Anfang einer Zeile handelt.
Deshalb brachte mich Dein Link auch nicht weiter, weil es für mich unverständlich ist das ans Ende der Expression noch einmal einzusetzen...


Würde mich freuen, wenn mich darüber nochmal jemand aufklären könnte,
obwohl ich das Thema bereits geschlossen habe...
Arne Drews ist offline  
Alt 09.07.2009, 13:40  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

KAAA-WUMM

Meine Fresse, war das ne Last mt dem riesen Brett vorm Kopp!!!


Alles klar, habs verstanden!
Vielen Dank nochmal!
Arne Drews ist offline  
Alt 09.07.2009, 13:43  
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

Ein Ausdruck ist in Sprachen wie PHP, Perl oder Javascript in Delimiter gesetzt. PHP kennt keine reg. Ausdrücke als natives Syntaxelement, daher gehören sie zusätzlich in einen String. Die Modifiers (eine Art Ausdrucksparameter) gehören hinter den Delimiter. Bei Perl können mit einem weiteren Delimiter auch Ersetzoptionen notiert werden. Delimiter können verschiedene Zeichen sein, teils werden gleiche Zeichen, teils korrspondierende Zeichen wie Klammern verwendet. Welche das sind, steht im Manual der jeweiligen Sprache.

[edit] Uups, zu spät. Der Adler ist schon gelandet.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 09.07.2009, 14:18  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Arne Drews Beitrag anzeigen
Moin,
PHP-Code:
preg_match("^([a-zA-Z0-9\._-]+)@([a-zA-Z0-9\._-]{3,})\.([a-zA-Z]{2,3}$)",$email,$match
So wie das aussieht willst du ein Emailformat checken richtig? Dann lasse am Ende das mal weg {2,3} .

Weil was machst wenn einer die Endung info hat? Dann wird nämlich ein gültiges Format nicht zugelassen. Weil das da hinten sagt mindestens 2 und maximal 3 Zeichen. Nunja und info hat nunmal 4 Zeichen. Auserdem A-Z kannst dir sparen indem du einfach den Modifier i verwendest.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 09.07.2009, 17:53  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von litterausprina
Dann lasse am Ende das mal weg {2,3} .
Weil was machst wenn einer die Endung info hat?
Jo, hast Recht!
Das hatte ich nicht berückschtigt. Aber "{2,4}" wäre dann doch ok, oder?
Dann würde er zumindest die aussen vor lassen, die weniger als 2 und mehr als 4 haben?!

Zitat:
Zitat von litterauspirna
Auserdem A-Z kannst dir sparen indem du einfach den Modifier i verwendest.
Öööhm...
Verdammt. Hast wieder Recht!

Geänderte Fassung sieht dann so aus:
PHP-Code:
preg_match("/^([a-z0-9\._-]+)@([a-z0-9\._-]{3,})\.([a-z]{2,4}$)/i",$email); 
Danke für Deine Hinweise!
Arne Drews 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
Upload funktioniert nur manchmal (XAMPP) InVein PHP Tipps 2009 5 14.06.2009 21:59
Nach Umstellung auf php5 funktioniert Script nicht mehr jo73 PHP Tipps 2009 18 06.06.2009 13:12
2 Regex in PHP kompatible Syntax übersetzen NoiZy PHP-Fortgeschrittene 6 07.04.2008 09:04
Regex funktioniert nicht wie ich will Freeaak PHP Tipps 2007 9 19.02.2007 20:19
Session funktioniert nicht bei session.use_cookies = Off Quagga PHP Tipps 2007 13 13.01.2007 18:27
Email Script funktioniert nicht rbs_phoenix PHP Tipps 2006 5 25.10.2006 09:31
Kontakrformular funktioniert nur zum Teil PHP Tipps 2005-2 12 18.07.2005 11:24
script funktioniert nicht. PHP Tipps 2005-2 24 05.07.2005 15:51
[Erledigt] Relay Script PHP-Fortgeschrittene 11 01.06.2005 16:02
[Erledigt] Hilfe bei Download Verwaltungs Script PHP Tipps 2005 8 04.05.2005 10:29
smiley script funktioniert nicht!? HTML, Usability und Barrierefreiheit 3 01.05.2005 17:55
Frage: Warum funktioniert dieses PHP/MySQL Script nicht? Datenbanken 9 22.04.2005 06:35
Script funktioniert nicht PHP Tipps 2004 2 02.11.2004 10:47
"das" Script oder "der" Script?? Simbo Off-Topic Diskussionen 31 16.09.2004 17:04
Script funktioniert nicht PHP Tipps 2004 4 13.06.2004 12:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
reg expression alles aber nicht, xsd.exe cannot be the child table to itself in nested relations, php regex script, regex php tester, regex funktioniert online nicht, preg_match funktioniert im script nicht, php regex funktioniert im regex tester aber nicht im skript

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