使用自定义函数的str_replace内容

时间:2014-02-25 13:50:33

标签: php function fopen str-replace

我正在使用Method One来替换值并且工作正常。我现在已经掌握了自定义函数,所以我想将其更改为方法二中更简单的自定义函数方法,但它不起作用。非常感谢任何帮助。

$plarge = $_POST['plarge'];
$phmaxl = $_POST['phmaxl'];
$fhandle = fopen($fname,"r");
$content = fread($fhandle,filesize($fname));

#### METHOD ONE ######
$content = str_replace($large,$plarge,$content);
$content = str_replace($hmaxl,$phmaxl,$content);
######################

#### METHOD TWO ######
function setreplace($set){
$content = str_replace($set,p.$set,$content);
}
setreplace($phmaxl);
setreplace($plarge);
#######################


####### WRITES  NEW VAULUES TO SETTINGS FILE ############
$fhandle = fopen($fname,"w");
fwrite($fhandle,$content);
####### CLOSES SETTINGS FILE ############
fclose($fhandle); 

1 个答案:

答案 0 :(得分:1)

函数不访问外部作用域,也不能连接这样的变量名。

考虑做这样的事情:

$replacements = array();
$replacements[$large] = $plarge;
$replacements[$hmaxl] = $phmaxl;
$content = strtr($content,$replacements);

strtr()