2016-06-29 95 views
-2

我有文件,我想用數組替換另一個單詞。比如我有file.txt和數組:替換數組中的單詞。 PHP

$arr = array(array("milk", "butter"), array("dog", "cat")) 

所以我要替換的「牛奶」和「黃油」的所有實例 - 或「狗」在文本文件中「貓」的所有實例。

我該如何做到這一點?

+1

獲取文件內容,替換內容並保存回去?! – Rizier123

回答

2

該代碼將每個內部數組的第一個單詞的第一個單詞替換爲第二個單詞(通訊員)。

$txt = file_get_contents('file.txt'); //text example 'My dog loves milk. My cat loves butter.'; 
$words = array(array('milk', 'butter'), array('dog', 'cat')); 

$result = $txt; 
foreach($words as $word){ 
    $result = str_replace($word[0], $word[1], $result); 
} 

echo 'Before: ' . $txt; 
echo '<br>'; 
echo 'After: ' . $result; 

file_put_contents('file2.txt', $result); // won't replace the file so you can see the difference. 

輸出:

前:我的狗喜歡牛奶。我的貓喜歡黃油。
後:我的貓喜歡黃油。我的貓喜歡黃油。


注:

  • 這是單向的:它不會改變一個被其他。它取代了第一個和第二個;
  • 它不檢查格式不正確;
  • 它必須是相同的大小寫(區分大小寫)。
+1

*漂亮groovy * –

1

你可以試試這樣;

<?php 
// get file content 
$text = file_get_contents("file.txt"); 

$arr = array(array("milk", "butter"), array("dog", "cat")); 

foreach($arr as $val){ 
    //replace text with your pattern 
    $text = str_replace($val[0],$val[1],$text); 
} 

echo $text;