标签:arr mb tpl replace content 内容 替换 模板
大家在对接第三方短信的时候肯定遇见过,”模板“这个概念,那么模板替换是怎么操作的呢?下面展示代码
第一种替换方式比较简单
//模版的替换
public function postTempReplace(Request $request)
{
$tpl_content="恭喜您,注册成功,用户名:#user#密码#password#,请#school#妥善保管";
//接收模版的里面的变量
$replace_content=$request->input();
//计算短信模版中有多少需要替换的内容变量
$replace=substr_count($tpl_content,'#');
//计算几个变量
$number=intval(floor($replace/2));
//重复,去除,分割数组(由内到外)
$pattern=explode(',', rtrim(str_repeat("/#\w+#/,", $number),','));
//正则匹配
$tpl_content = preg_replace($pattern, $replace_content, $tpl_content , 1);
return $tpl_content;
}
替换后的内容格式:“恭喜您,注册成功,用户名:张三,密码abc,请 自己 妥善保管”
(2)第二种替换方式
public function param($content)
{
$tpl_content="恭喜您,注册成功,用户名:#user#密码#password#,请妥善保管";
$arr = explode('#', $content);
//接受要替换的变量内容
$replace_content=$request->input();
for ($i = 0; $i < count($arr); ++$i) {
$mb = mb_strlen($arr[$i], 'gbk');
$st = strlen($arr[$i]);
if ($st == $mb) {
foreach ($post as $key => $value) {
if ($arr[$i] == $key) {
$content = str_replace("#{$arr[$i]}#", htmlspecialchars($value), $content);
}
}
if ($arr[$i] == 'code') {
$content = str_replace('#code#', mt_rand(1000, 9999), $content);
}
}
}
return $content;
}
标签:arr,mb,tpl,replace,content,内容,替换,模板 来源: https://blog.csdn.net/wangzhae/article/details/112600507
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。