Willkommen in der Webstatt Zum Webstatt Blog und Stories
web4 am 06.05.06 11:38

hallo zusammen,

ich bin noch ein absoluter regex anfänger...und irgendwie weiss ich nicht wie anfangen...

es gibt verschiedene tabellen und alle haben eine gemeinsame eigenschaft, also es gibt kein fixes suchmuster, jedoch möchte ich diese Spalte wo die mailadresse drin steht auslesen...

... <FONT face="Arial,Helvetica,Sans Serif" size=2>
[EMAIL]mail@adresse.ch[/EMAIL] </FONT>...

sprich was er auslesen soll:

feld in der tabelle wo zwischen <FONT face="Arial,...> und </FONT> ein @ drin steht.

Wie beginnt man da am besten? Tut mir leid, Regex ist absolut nicht mein Ding, ich werde aus den Tuts nicht schlau :(

vielen dank für eure hilfe
gruss
web4

netcup.de Warum gibt es hier Werbung?
Michael Michael am 06.05.06 12:23

Ganz grob:

/<FONT face="Arial,Helvetica,Sans Serif" size=2>(.+?@.+?)<\/FONT>/


allerdings findet keinerlei Validierung statt, beispielsweise x@x würde auch treffen.

Neals am 06.05.06 18:13

Ich benutze immer diese Funktion:

function check_email($email) {
$nonascii = "\x80-\xff"; # Non-ASCII-Chars are not allowed

$nqtext = "[^\\\\$nonascii\015\012\"]";
$qchar = "\\\\[^$nonascii]";

$protocol = '(?:mailto:)';

$normuser = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
$quotedstring = "\"(?:$nqtext|$qchar)+\"";
$user_part = "(?:$normuser|$quotedstring)";

$dom_mainpart = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.';
$dom_subpart = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*';
$dom_tldpart = '[a-zA-Z]{2,5}';
$domain_part = "$dom_subpart$dom_mainpart$dom_tldpart";

$regex = "$protocol?$user_part\@$domain_part";

return preg_match("/^$regex$/",$email);
}


Aber ist auch nicht 100%ig...

Michael Michael am 06.05.06 19:14

Hier stellt sich natürlich auch die Frage wie sinnvoll eine genaue Validierung eine Email Adresse ist, wenn der User einfach eine falsche angeben kann.

Ich persönlich prüfe nur die grobe Korrektheit (Buchstaben@Mindestens-2-Buchstaben.2-5-Buchstaben) oder versende einen Registrierungslink.

web4 am 07.05.06 11:23

danke euch beiden, in diesem falle hat die einfachere version von michael gelangt:) aber danke trotzdem!

gruss und einen sonnigen nachmittag
web4

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt