2013-05-10 55 views
0

对不起,我之前已经询问过这个问题,但输出不同。 Here是我以前回答过的问题。但它效率低下。带有file.txt的str_replace字符串

我想要searchword和replaceword在一个文件中。我认为这种方法会更容易。因此,我认为我的代码应该是这样的:

$txt_search = file_get_contents("replaced.txt"); 
$txt_search = array_map('trim', explode("=", $txt_s)); 
$txt_replace = file_get_contents("replaced.txt"); 
$txt_replace = array_map('trim', explode(";", $txt_r)); 
$term = str_replace($txt_s, $txt_r, $last_tmp_); 

而且replaced.txt文件里面应该是这样的:

hello=hi; modern=fashionable; apple=banana; 

所以对于结果,我想“你好”通过“HI”取代。我应该从我的代码中更改什么?还是有另一种方式?

回答

1

这应该给你地图替代的

$arr = parse_ini_string(str_replace(";", "\n", file_get_contents("replaced.txt"))); 

,如果你有过replaced.txt文件的内容控制只是改变;公司到新行和并使用parse_ini_file(“replaced.txt “);为了获得相同的数组,这可能会更有帮助。

那么你可以做的替换用

$term = str_replace(array_keys($arr), array_values($arr), $last_tmp_); 
+0

+1极具创造性地将parse_ini_string'的'! – vstm 2013-05-10 04:40:39