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