Mailinglisten-Archive |
Franz Graf schrieb am Sonntag, den 10. Oktober 1999: > Jetzt bin ich heute auf ein (selfmade) Konstrukt gestossen, dessen > Output ich zwar brauchen, aber leider nicht verstehen kann :( > > eregi("([^/]+)[ ]$",$PHP_SELF,$regs); > liefert mir > $regs[0] = _test.php3 > $regs[1] = _test > $regs[2] = .php3 > > Das seltsame ist: wenn ich statt > "([^/]+)[ ]$" ein "([^/]+)[X]$" > einsetze (wobei ich satt "X" eigentlich alles mögliche einsetzen > kann) bekomme ich das gleiche Ergebnis(?!). Ich vermute, Du läßt Dich hier täuschen! Denn da der Inhalt von $PHP_SELF sicher nicht mit einem Leerzeichen endet (oder einem X), paßt der reguläre Ausdruck nicht und $regs wird gar nicht verändert. Die angezeigten Werte müssen schon vorher drin gewesen sein! Es ist grundsätzlich nicht verkehrt, die Registervariable zuvor ausdrücklich zu löschen: unset($regs); if ( eregi('([^/]+)\.([^/.]+)$',$PHP_SELF,$regs) ) { echo "Muster paßt:<BR>\n"; reset($regs); while( list($key,$val)=each($regs) ) { printf('$regs[%s] = "%s"'."<BR>\n", $key, $val); } } else { echo "Muster paßt nicht.\n"; } Ciao, Martin -- Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://ramsch.home.pages.de/ > PGP: 0xE8EF4F75, 5244 5EF3 B0B1 3826 E4EC 8058 7B31 3AD7
php::bar PHP Wiki - Listenarchive