Mailinglisten-Archive |
hi Matthias, Mittwoch, 14. Februar 2001, 18:14:41, hast du folgendes geschrieben: > für mich sieht das aus, wie eine mischung aus spanisch, holländisch und > ein wenig russisch... ;) was genau bedeuten diese einzelnen zeichen? > falls du zeit hast... das ganze ist ein regulärer ausdruck. 'ne ausführliche beschreibung findest du unter: http://www.php.net/manual/en/pcre.pattern.syntax.php if (preg_match($pattern, $string, $result)) { echo result[1]; } prüft ob der reguläre ausdruck (patern = suchmuster) in dem string vorkommt, und wenn ja, macht es ein echo. woher er das result kennt kommt gleich :-) das ist der reguläre ausdruck: /\/([^/]+)$/i der erste und letzte / schließen ihn ein. also alles was zwischen / und /i steht, danach wird gesucht. das i ist eine suchoption und heißt, dass kein unterschied zwischen GROSS und klein schreibung gemacht wird. das ist jetzt das interessante: \/([^/]+)$ ich geh es einfach stück für stück durch \/ heißt er erwartet einen /. der \ davor ist zum "escapen" (wie bei \n zB) denn sonst würde man ja den ausdruck schon wieder beenden. dei ( ) sind jetzt mal nicht wichtig. [^/] ist eine zeichenmenge, die nicht / sind. also das ^ ist eine verneinung. + das zeichen das vor dem + steht (die zeichenmenge) muss mindestens einmal vorkommen. geht aber auch beliebig oft. $ ist das zeichen für das string-ende das heißt jetzt also: "such nach einem /, gefolgt von mindestens einem zeichen das kein / ist, gefolgt von dem zeilenende" wenn er das also gefunden hat. gibt er $result aus. $result ist ein array, das mit allen teilstücken des ergebnisses gefüttert wird. und die teilstücke kennzeichnet man durch die klammern ( ). denn sont steht im result ja auch noch der / nach dem wir gesucht haben. ich hoffe man hat es verstanden :-) bye benjamin -- Was jeht uns die Sintflut ahn? mailto:cybermage_(at)_hirnstrudel.de http://www.hirnstrudel.de
php::bar PHP Wiki - Listenarchive