fastix®: Text entfernen

Beitrag lesen

Moin!

Wie mache ich das am besten (keine Perl-/PHP- o.ö. Kenntnisse vorhanden)?
Danke für Eure potentielle Hilfe
Rudi

Hm. Was hast Du? Ich nehme mal an, irgendein Windows.

* Der alte HTML-Editor 5.2 (den gabs noch als Freeware) von Meybohm konnte derlei batch-Aufgaben erledigen.
* Mit einem Shell-Skript drum herum kann auch das für Windows verfügbare Tool sed tun.
* Klar geht das auch mit PHP - in einer Shell.

<?php  
  
##  
# splitter.php  
##  
  
# Dateien festlegen  
  
# Variante 1: als Array:  
$arFiles=array(  
  'datei1.txt',  
  ...  
  'datei10.txt'  
);  
  
# Variante 2: aus einer Textdatei:  
$arFiles=file('Dateinamen.txt');  
  
# Variante 3: alle .txt- Dateien in einem Verzeichnis:  
$strDirName="C:/texte";  
$DIR = dir($strDirName);  
while (false !== ($entry = $DIR->read())) {  
     if (strpos($entry, '.txt')) {  
         $arFiles[]=$strDirName.'/'.$entry  
     }  
}  
$DIR->close();  
  
  
  
#In jedem Fall hast Du jetzt ein Array.  
$search="Ab hier löschen:";  
foreach ($arFiles as $strFileName) {  
     if (!is_file($strFileName)) {  
         print "Fehler: $strFileName ist keine Datei\n";  
     } elseif (!is_readable($strFileName)) {  
         print "Fehler: $strFileName ist nicht lesbar. Rechte?\n";  
     } elseif (!is_writable($strFileName)) {  
         print "Fehler: $strFileName ist nicht schreibbar. Rechte?\n";  
     } else {  
         # Datei einlesen und gleich am String in 2 Teile auftrennen  
         $arParts=explode($search, file_get_contents($strFileName), 2);  
             #prüfen, ob es was zu tun gibt:  
             if isset($arParts[1]) {  
                 # Ersten Teil schreiben:  
                 file_put_contents($arParts[0],$strFileName);  
             }  
     }  
}  
print "Fertig\n".  
?>

C:\dir\> php splitter.php

UNGETESTET! Schreibfehler sind möglich. Hilfe zu den Befehlen gibt es bei php.net.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix