字符替换的问题(急) $msg="aa请aa帮忙做aa" $b1="我"$b2="你"$b3="事"将$msg变成“我请你帮忙做事”$msg="aa喜欢aa." $b1="他"$b2="打球"将$msg变成“他喜欢打球” 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?php$msg="aa请aa帮忙做aa";$b1="我";$b2="你";$b3="事";//$arr = array($b1, $b2, $b3);//echo preg_replace(array("'aa'", "'aa'", "'aa'"), $arr, $msg, 1);for ($i=1; $i<=3; $i++){ $msg = preg_replace("'aa'", ${"b" . $i}, $msg, 1);}echo $msg; 用array+foreach好点,因为他说个数不确定啊或者for ($i=1; $i<=count($array); $i++) 我说完整一点吧:数据我是从数据库提取出来的,如:%1="我";%2="你";%3="事";%4="球";以上参数是固定的;数据表如下:数据 参数----------------------------------%s请%s帮忙做%s %1,%2,%3-----------------------------------%s喜欢%s %1,%4 -----------------------------------如我想翻译第一条数据 "%s请%s帮忙做%s" 为 "我请你帮忙做事”$msg="%s请%s帮忙做%s";$parameter="%1,%2,%3";$tmp1 = explode(",",$parameter);接下去怎样做呢? $temp = AddSlashes($msg);eval( "\$temp = \"$temp\";" );$msg1= StripSlashes($temp);?? $s1="我";$s2="你好吗";$content="%1===%2"; $content=strtr($content,"%1",$s1);$content=strtr($content,"%2",$s2);echo $content;//为什么会乱码 例子:$msg="aa请aa帮忙做aa...." $b1="我"$b2="你"$b3="事"$msg = str_replace("aa", "%s", $msg);$msg = sprintf($msg, $b1, $b2, $b3); sprintf不行啊,如果我下一条记录还多一个参数那怎么办,怎样动态改变sprintf($msg, $b1, $b2, $b3)啊? 1、$b1="我";$b2="你";$b3="事";$dict = array($b1,$b2,$b3);//组织成数组以便于操作//回调函数function foo() { return array_shift($GLOBALS['dict']);}echo preg_replace("/(aa)/e","foo()",$msg);2、你用%1做变量名是错误的$a1="我";$a2="你";$a3="事";$a4="球";$msg="%s请%s帮忙做%s";$parameter="%1,%2,%3";$parameter = str_replace("%",'$a',$parameter);eval("printf(\"$msg\",$parameter);");3、eval函数同样能解决你对hahawen(变态的大龄青年) 解答的疑问 header跳转不生效 文章分页的问题 关于电子商务网站的问题 PHP函数 关于字符集的问题~~ 为什么左边那块老是“加载中...”阿? php从oracle读取的数据,中文变成问号,客户端哪里可以设置? 关于GD绘图中输出汉字的问题 php可不可以控制每条语句之间的时间??? 请问这是什么用法? phpMyadmin的错误返回问题 这个问题怎么解决呢?难呀,谢谢大家啦!
$msg="aa请aa帮忙做aa";
$b1="我";
$b2="你";
$b3="事";
//$arr = array($b1, $b2, $b3);
//echo preg_replace(array("'aa'", "'aa'", "'aa'"), $arr, $msg, 1);
for ($i=1; $i<=3; $i++)
{
$msg = preg_replace("'aa'", ${"b" . $i}, $msg, 1);
}
echo $msg;
或者for ($i=1; $i<=count($array); $i++)
如:
%1="我";
%2="你";
%3="事";
%4="球";
以上参数是固定的;
数据表如下:
数据 参数
----------------------------------
%s请%s帮忙做%s %1,%2,%3
-----------------------------------
%s喜欢%s %1,%4
-----------------------------------如我想翻译第一条数据 "%s请%s帮忙做%s" 为 "我请你帮忙做事”$msg="%s请%s帮忙做%s";
$parameter="%1,%2,%3";
$tmp1 = explode(",",$parameter);接下去怎样做呢?
eval( "\$temp = \"$temp\";" );
$msg1= StripSlashes($temp);??
$s2="你好吗";
$content="%1===%2";
$content=strtr($content,"%1",$s1);
$content=strtr($content,"%2",$s2);echo $content;//为什么会乱码
$b1="我"
$b2="你"
$b3="事"$msg = str_replace("aa", "%s", $msg);
$msg = sprintf($msg, $b1, $b2, $b3);
怎样动态改变sprintf($msg, $b1, $b2, $b3)啊?
$b1="我";
$b2="你";
$b3="事";
$dict = array($b1,$b2,$b3);//组织成数组以便于操作
//回调函数
function foo() {
return array_shift($GLOBALS['dict']);
}
echo preg_replace("/(aa)/e","foo()",$msg);2、你用%1做变量名是错误的
$a1="我";
$a2="你";
$a3="事";
$a4="球";$msg="%s请%s帮忙做%s";
$parameter="%1,%2,%3";
$parameter = str_replace("%",'$a',$parameter);
eval("printf(\"$msg\",$parameter);");3、eval函数同样能解决你对hahawen(变态的大龄青年) 解答的疑问