要替換字符串中的內容我們只要利用php相關函數,如strstr,str_replace,正則表達式了,那麼我們要替換目錄所有文件的內容就需要先遍歷目錄再打開文件再利用上面講的函數替換了。 先我們看最基本
strtr() 函數轉換字符串中特定的字符。
語法
strtr(string,from,to)或者
strtr(string,array)
*/
代碼如下 復制代碼$addr=strtr($addr,"","aao"); //第一種調用方法
$trans=array("hello"=>"hi","hi"=>"hello"); //定義一個轉換數組
echo strtr("hi all, i said hello",$trans); //第二種調用方法
//普通字符串
echo strtr("hilla warld","ia","eo");
//數組
$arr = array("hello" => "hi", "world" => "earth");
echo strtr("hello world",$arr);
/*
如果 from 和 to 的長度不同,則格式化為最短的長度。
再看一個簡單的函數
// +------ 我以前寫的一個替換函數
代碼如下 復制代碼function file_modify($search_contents, $replace_contents, $filename)
{
$fp = file_get_contents($filename);
$new_fp = str_replace($search_contents, $replace_contents, $fp);
file_put_contents($filename, $new_fp);
}
// +------ 用法
file_modify('sdf hjhj', 'sdf_test hjhj_test', 'test10.html');
或直接用
// 或者直接用這個
代碼如下 復制代碼preg_replace('|(<div class="body">)(^<]+)(</div>)|iSU', "${1}" . 替換後的內容 . "$3", $str);
preg_replace('|(<div class="body">)(^<]+)(</div>)|iSU', "${1}" . 替換後的內容 . "$3", $str);
上面我所說的所有問題都只會替換一個文件裡面的,那麼我想替換一個站點所有目錄裡面文件指定字符,那麼我們來看下面這個函數
這樣我們只要運行就可以替換指定目錄所所有文件的所有內容,這個還是特別方便的。