Introduction

Introduction – Comment faire du chercher/remplacer dans des fichiers

Utilisation

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 -> setIncludeSubdirtrue) ;
// ignorer les lignes commencant par ces caractères
$snr -> setIgnoreLines( array( "::""#")) ;
// redémarrer l'analyse de recherche/remplacement
$snr -> doSearch() ;
?>

Types des fonctions de recherche

File_SearchReplace supporte différentes fonctions de recherche. Le type influence directement le format du paramètre requis $find .

  • normal - par défaut, le seul type qui supporte le paramètre $IgnoreLines
  • quick - utilisation de la fonction PHP str_replace()
  • preg - utilisation de la fonction PHP preg_replace()
  • ereg - utilisation de la fonction PHP ereg_replace()
Pour définir le type, appelez la fonction setSearchFunction() avant d'effectuer la recherche().

File_SearchReplace (Previous) Constructeur (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.