Christian Kruse: Reguläre Ausdrücke

Beitrag lesen

Joho,

eregi("^/(msg|to)[:space:][:space:]$", $M, $Cmd)

[...]

/msg Username message

[...]

/msg Username: message

preg_match("!/^(\S+)\s+(\S+):?\s(.+)$!",$var,$regs);

$regs[0] -> string
$regs[1] -> /<command>
$regs[2] -> <Username>
$regs[3] -> <messi>

Zur Erklaerung:
Der String soll mit alles ausser einem Whitespace (\S - \S ist die Negierung zu \s ->
alles, ausser Whitespaces) beginnen (^) - so haben wir das Kommando gematcht. Darauf folgen
sollen wieder Whitespaces (\s), gefolgt von nicht-Whitespaces (\S) und einem oder keinem (?)
Doppelpunkt - so matchen wir den Usernamen. Als letztes noch die Messi. Die Messi ist vom
Usernamen getrennt durch ein(!) Whitespace (\s) und danach folgen beliebige Zeichen (.). Das
Plus steht jeweils fuer mindestens ein, maximal unendlich Zeichen.

Hab schon ein PHP-Buch zu rate gezogen und auch php.net gefragt, doch nirgends hab ich
was richtig gutes gefunden, was mir half...

Mastering Regular Expressions kann ich empfehlen.

Gruss,
 CK
 http://wwwtech.de

--
s s^s<DATA>se;s (([^\s]))(ord($1)%2?
chr(ord($1)-5):chr(ord($1)-3))sieg;s s^s$_see;
__END__
uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>