"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

php-n00b-frage...

COLOSSUS 22.09.2002 - 15:29 575 6
Posts

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Ich hab grade mal angefangen etwas php zu machen, allerdings finde ich in dem Heftchen das mir & meinen Kenntnissen zugrunde liegt keine Mglk., eine Zeichenkette mit einer mit Wildcards versehenen Refernz zu vergleichen.
Ich will z.B. überprüfen, ob der Inhalt der Variable $email der form *@*.* ist, mit "==" geht das aber nicht - es gibt doch sicher ein Pendant zum Basic-"like". Wäre mir sehr geholfen, wenn es mir jemand verraten würde :)

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
http://www.php.net/manual/en/ref.pcre.php
(preg_match is das was du brauchst)
maybe kannst es auch ueber strstr() zusammen schustern
aber regex sind fuer sowas gedacht

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
ah, danke einmal, jetzt geht das wenigstens :D

hätte man auch selbst draufkommen dürfen :)

thx nochmal - aber seid gewarnt, es war bestimmt nicht meine letzte frage o_O

Luki

UNDER CONSTRUCTION
Avatar
Registered: Feb 2002
Location: 127.0.0.1
Posts: 2347
for($i=0,$i<strlen($email),$i++)
{
$char= substr($email, $i,1);
if($char == "@")
{
echo "Passt";
}
}

oder kürzer:
if(substr_count($email,"@") == 1)
{
echo "Passt";
}

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
oder NOCH kuerzer strstr() :eek:
aber er wollt *@*.* und maybe noch komplexer..
und da wirds dann langsam zu depat mit str funktionen

jetzt kommt gleich strstr(strstr($string,"@"),".")

Luki

UNDER CONSTRUCTION
Avatar
Registered: Feb 2002
Location: 127.0.0.1
Posts: 2347
du musst auch immer recht haben :D

aber ehrlich gesehen hab ich es überlesen, dass er den punkt auch noch überprüft haben will.

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782

# mit regular expressions ist es am elegantesten
# überprüft auf *@*.* wobei jedes * = 1 oder mehr zeichen.

function isValidEMail($eingabe) {

return preg_match('/[^@]+@[^.]+\.[^.]+/',$eingabe);

}
Bearbeitet von atrox am 22.09.2002, 19:28
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz