html-Datei einlesen, ändern und neu abspeichern

luxlunatic

Grünschnabel
Hallo,
bestimmt leicht für die es wissen....

mein Problem:

ich möchte auf einem externen Server die Datei test.html lesen, dann alle href="datei.html" durch href="http://www.externerServer.com/datei.html" ersetzen. Zusätzlich sollen alle src gleich wie href ersetzt werden. wichtig bei der ganzen sachen href mit .css als inhalt müssen breiben und dürfen nicht verändert werden. Zum Abschluss soll die geänderte Datei dann auf dem Server abgespeichert werden auf dem der script läuft.

kann mir jemand ein bitte ein Tip geben?

Danke Leute
 
danke für Deine schnelle Antwort, aber könntest du mir ein kleines Beispiel geben, ich bin leider etwas neu (Anfänger) auf dem Gebiet.?
 
Naja readfile() erklärt sich aus der Dokumentation. Den Link dazu hab ich dir gegeben. Für preg_replace() kann ich dir ein kleines Beispiel zeigen:

PHP:
<?php
	$zeichenkette = "Da ich keinen Salat mag, ersetze ich Salat durch Schokolade.";

	$suchmuster = '/Salat/';

	$ersetzung = 'Schokolade';

	echo preg_replace($suchmuster, $ersetzung, $zeichenkette);
?>

Es bringt dir aber auch am Meisten, wenn du noch die Funktionsdokumentation anschaust. Du wirst reguläre Ausdrücke gebrauchen. Eine Erklärung dazu findest du hier:
http://de.wikipedia.org/wiki/Reguläre_Ausdrücke
 
Ich kann dir halt auch nur aufzeigen, wie du es in etwa machen könntest. Kann dir keinen explizit passenden Code posten, da mir 1. die Details deines Scriptes und 2. die Zeit dafür fehlt :) Ich kann aber noch einmal versuchen, dir in etwa einen Fahrplan zu geben, wie du das Ganze angehen könntest. Dann kannst du dich Stück für Stück einlesen. Es ist noch kein Meister vom Himmel gefallen :)

1. Du öffnest das gewünschte HTML-File. Das kannst du dann entweder mit readfile() ganz einlesen oder mit fopen() öffnen und mit fread() Stück für Stück lesen.

2. Der ausgelesene Inhalt der Files hast du dann vermutlich irgendwo in einer Variable oder einem Array gespeichert. Nun kannst du mit str_replace() oder preg_replace() den ausgelesenen Text bearbeiten. Du machst mit diesen Funktionen gewissermassen ein Search&Replace. Für preg_replace() brauchst du die regulären Ausdrücke, was zugegebenermassen für den Anfang gleich ein bisschen heftig ist. Nachlesen lohnt sich aber, denn regexp sind ein sehr mächtiges Tool bei der Programmierung.

3. Entweder speicherst du den so manipulierten Text wieder ins alte File und verschiebst das per copy() zu deiner Wunschdestination oder du schreibst dir über fopen() und fprintf() direkt am Ziel ein neues File.

So... nun musst du halt ein bisschen Knobeln. Rom ist auch nicht an einem Tag erbaut worden.

Grüsse
Igäl
 
Zurück