Mailinglisten-Archive |
Hallo Liste,
zur Zeit arbeite ich an einem Script, welches eine Datei ausliest und alle
Links in dieser ändert.
Hier einmal mein bisheriges Script:
<?php
$datei = fopen("test.html", "r");
while (!feof($datei))
{
$zeile = fgets($datei, 2500);
$zeileneu = preg_replace('/href=(\w+?)\.html/i', 'href=\\1.htm',
$zeileneu);
$zeileneu = preg_replace('/href=(\w+?)\.htm/i', 'href=index.php?page=\\1',
$zeileneu);
$zeileneu = preg_replace('/href=(\w+?)\.php/i', 'href=index.php?page=\\1',
$zeileneu);
echo "$zeileneu";
}
fclose($datei);
?>
Das Script öffnet die test.html und soll alle Links von z.B. <a
href="haha.html"> zu <a href="index.php?page=haha"> ändern.
Mein Problem ist jetzt, daß dieses Script nicht richtig funktioniert, d. h.
wenn z. B. der Link <a href=haha.html> (also ohne "") ist, dann funktioniert
es, wenn jedoch "" hinzugefügt werden, funktioniert es nicht.
Wenn der Link z. B. haha.php?test=abc&dd=abc ist, dann ist die Ausgabe
index.php?page=haha?test=abc&dd=abc. Hier wäre das zweite ? falsch gesetzt.
Außerdem: Was ist, wenn es ein e-mail-Link ist, also <a
href="mailto:test_(at)_test.de">?
Meine Frage jetzt an die Liste:
Wie müsste das Script aussehen, daß es richtig funktioniert?
Danke für Eure Hilfe,
Hans
php::bar PHP Wiki - Listenarchive