導入
導入 – 複数のファイルから検索して置換する
利用
SearchReplaceを利用して、好きなだけのファイルからテキスト置換ができます。
<?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() ;
?>
この例では、指定したファイル $files および
"/mail/"
ディレクトリにあるすべてのファイルから、
すべての "Yes"
を "No"
に置換しています。
もしファイルの行が $ignoreline
の文字列ではじまっていたなら、
マッチしても無視されます。
新しい検索をクラスインスタンスを作り直さなくてもすることができます。
<?php
...
// string to search
$snr -> setFind( "Er") ;
// string to find
$snr -> setReplace( "Sie") ;
// look in this files
$snr -> setFiles( $files) ;
// look in this directories
$snr -> setDirectories( array( "/neue_briefe/")) ;
// look in the subdirectories too
$snr -> setIncludeSubdir( true) ;
// ignore lines in the files starting with this chars
$snr -> setIgnoreLines( array( "::", "#")) ;
// restart search'n'replace
$snr -> doSearch() ;
?>
Types of search functions
File_SearchReplaceはいくるかの種類の検索関数をサポートしています。
この種類の違いは$find
-パラメータの書式に影響します。
-
normal
-
デフォルトで、次のパラメータをサポートする唯一の種類です。
$IgnoreLines
-パラメータ
-
quick
- str_replace() を使用します。
-
preg
- preg_replace() を使用します。
-
ereg
- ereg_replace() を使用します。
タイプの設定は、
doSearch()
を呼び出す前に、
setSearchFunction()で設定します。