替换数组中的单词。 PHP

时间:2016-06-29 13:59:27

标签: php arrays replace

我有文件,我想用数组替换另一个单词。例如,我有file.txt和数组:

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

所以我想替换"牛奶"的所有实例用"黄油" - 或者所有"狗"和#34;猫"在文本文件中。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

此代码用第二个单词(通讯员)替换每个内部数组的第一个单词的所有出现。

$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 :(得分: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;