Mailinglisten-Archive |
Guten Tag Jansen,
Am Sonntag, 9. September 2001 um 23:34 schrieben Sie:
>>>zur Zeit habe ich folgendes Problem:
>>>Mit einem PHP-Script möchte ich alle <a href=...html> zu <a
>>>href=index.php?page=...html> ändern.
>> Nimm preg_replace anstatt und setze einen Ausdruck ein, der ungreedy
>> von <a href=(.*)\.html> gegen <a href=index.php?page=\1.html> ersetzt
>> - ungetestet, den Rest findste im manual.
> Wenn ich dieses Script verwende:
[...]
> $zeileneu = preg_replace("href=(*).html", "href=index.php", $zeile);
[...]
> bekomme ich immer diese Fehlermeldung:
> Warning: Delimiter must not be alphanumeric or backslash in
> /home/hcj/www/date.php on line 6
> Was ist an dem Script falsch?
Du benutzt nun einen regulären Ausdruck, und reguläre Ausdrücke sind
eine Welt für sich... Das PHP-Manual hilft auch nur begrenzt weiter.
(Zeit zum Googlen?!)
IMHO müsste es lauten (ungetestet!):
$zeileneu = preg_replace("/href=(\w+?)\.html/i",
"href=\\1.php?page=\\1.html", $zeile);
Dann darf der Filename aber nur Zahlen, Buchstaben und den Unterstrich
enthalten.
Wenn Du, entgegen Deiner Angabe, doch Anführungsstriche benutzt, dann
musst Du die RegEx entspechend ändern.
--
Mit freundlichen Grüssen
Marc-Alexander Prowe mailto:listen_(at)_mohajer.de
php::bar PHP Wiki - Listenarchive