Avec la classe SearchReplace, vous pouvez remplacer un texte par un autre dans autant de fichiers que vous le désirez.
Utilisation typique
<?php
include 'File/SearchReplace.php' ;
$files = array( "test1.txt",
"test2.txt",
"test3.txt" ) ;
$ignoreline = array( "#", ":") ;
$snr = new File_SearchReplace( "Yes", "No", $files, "/mail/", false,
$ignoreline) ;
$snr -> doSearch() ;
?>
Cet exemple remplace toutes les occurences de "Yes" par "No" dans les fichiers spécifiés par $files ainsi que dans tous les fichiers du dossier "/mail/" . Si une ligne d'un fichier commence par un des caractères présents dans la variable $ignoreline , cet ligne sera ignorée et aucun remplacement n'y sera effectué.
Vous pouvez effectuer une nouvelle recherche sans pour autant créer une nouvelle instance de la classe.
Effectuer une nouvelle recherche
<?php
// chaîne à chercher
$snr -> setFind( "Er") ;
// chaîne de remplacement
$snr -> setReplace( "Sie") ;
// fichiers à analyser
$snr -> setFiles( $files) ;
// dossiers à analyser
$snr -> setDirectories( array( "/neue_briefe/")) ;
// on veut aussi rechercher dans les sous-dossiers
$snr -> setIncludeSubdir( true) ;
// ignorer les lignes commencant par ces caractères
$snr -> setIgnoreLines( array( "::", "#")) ;
// redémarrer l'analyse de recherche/remplacement
$snr -> doSearch() ;
?>
File_SearchReplace supporte différentes fonctions de recherche. Le type influence directement le format du paramètre requis $find .