Forum Doku Wiki Blog

Forumsarchiv 2006, März
Bereich in Datei ersetzen

archivierte Beiträge lesen

  1. (PHP) Bereich in Datei ersetzen von Tobi, 23. 03. 2006, 10:52

Bereich in Datei ersetzen

Der folgende Beitrag wurde am 23. 03. 2006, 10:52 Uhr von Tobi veröffentlicht.

Hallo Zusammen,

folgendes Problem habe ich gerade.
Mit PHP lese ich uf einem Webserver diverse Datein ein und
will dort einen Bereich ersetzen.
Sprich: Alle Zeilen von <!--START--> bis <!--ENDE--> sollen
ausgestauscht werden.

Die Anzahl der Zeilen ist immer unterschiedlich, nur START und ENDE
Tag stehen immer an Anfang bzw. Ende.

Das Einlesen der Inhalte ist kein Thema. Aber das VON...BIS Ersetzen
bekomm ich nicht hin.

Besten Dank im Voraus!

Tobi

Bereich in Datei ersetzen

Der folgende Beitrag wurde am 23. 03. 2006, 11:04 Uhr von Juan veröffentlicht.

Moin,

> folgendes Problem habe ich gerade.
> Mit PHP lese ich uf einem Webserver diverse Datein ein und
> will dort einen Bereich ersetzen.
> Sprich: Alle Zeilen von <!--START--> bis <!--ENDE--> sollen
> ausgestauscht werden.

wie liest du die Datei denn ein?
Wenn du z.B. die Daten in ein array einliest, könntest du ja die Position von deiner Start- und Ende-Marke ganze einfach mit einer Schleife ermitteln.
Dann könntest du alles was davor ist unverändert zurückschreiben, dann deinen geänderten Text und dann alles ab der Ende-Marke wieder unverändert zurückschreiben.

MfG,
  Juan

Bereich in Datei ersetzen

Der folgende Beitrag wurde am 23. 03. 2006, 11:14 Uhr von Tobi veröffentlicht.

> Moin,
>
> > folgendes Problem habe ich gerade.
> > Mit PHP lese ich uf einem Webserver diverse Datein ein und
> > will dort einen Bereich ersetzen.
> > Sprich: Alle Zeilen von <!--START--> bis <!--ENDE--> sollen
> > ausgestauscht werden.
>
> wie liest du die Datei denn ein?

Hi,

momentyn lese ich die per fread() in eine Variable.
Wie bekäme ich die in ein Array?

cu
Tobi

Bereich in Datei ersetzen

Der folgende Beitrag wurde am 23. 03. 2006, 11:39 Uhr von Juan veröffentlicht.

Moin,

> momentyn lese ich die per fread() in eine Variable.
> Wie bekäme ich die in ein Array?

du könntest sie mit file() komplett in ein Array einlesen.

MfG,
  Juan

Bereich in Datei ersetzen

Der folgende Beitrag wurde am 23. 03. 2006, 13:18 Uhr von Tom veröffentlicht.

Hello,

> Sprich: Alle Zeilen von <!--START--> bis <!--ENDE--> sollen
> ausgestauscht werden.

$fh = fopen($dateiname,'rb+');
flock($fh,LOCK_EX);
$input = fread($fh, $filesize);
$_anfang = explode('<!--START-->',$input);
$_ende   = explode('<!--ENDE-->',$_anfang[1]);
$output  = $_anfang[0].$_ende[1];
fwrite($fh,$output);
fclose($fh);


Die notwenigen Prüfungen, ob die Datei zu öffnen war, und $_anfang und $_ende je zwei Elemente enthalten, musst Du bitte selber einbauen.




Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4