doupi3874 2014-02-25 13:50
浏览 60

使用自定义函数的str_replace内容

I am using Method One to string replace values and works fine. I have now got the hand of custom functions so I want to change this into an easier custom function method as in Method Two but it does not work. Any help greatly appreciated.

$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条回答 默认 最新

  • dph58509 2014-02-25 13:53
    关注

    Functions don't access the outside scope, and you can't concatenate variable names like that.

    Consider doing something like this instead:

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

    strtr()

    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向