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