首页 > 编程语言 >php实现占位符模板替换

php实现占位符模板替换

时间:2023-05-24 20:00:59浏览次数:24  
标签:占位 replacementArr str go php 替换 模板

php实现占位符模板替换

对接过微信模板消息,或者阿里大于接口的,应该都知道,三方会给你一些模板,模板里有一些占位符,你只需要按照模板里的占位符填充参数即可。

demo,实现一个地址跳转系统

用户提供域名和路径参数,系统配置模板即可,用户传参即可替换。

// 用户提供的参数
$patterns = 'url-m-baidu-go';

// 模板替换
$str = 'https://{1}.{2}.com/{3}';
if (preg_match('/{\d+}/', $str) > 0) {
    $replacementArr = explode('-', $patterns);
    // url m baidu go
    $patternArr = array_map(
        function ($key) {
            return sprintf('/\{%d\}/', $key);
        },
        array_keys($replacementArr)
    );
    // /\{0\}/ /\{1\}/ /\{2\}/ /\{3\}/
    $str = preg_replace($patternArr, $replacementArr, $str);
    // https://m.baidu.com/go
}

标签:占位,replacementArr,str,go,php,替换,模板
From: https://www.cnblogs.com/okbuok/p/17429351.html

相关文章

  • [PHP](MD5、sha1)比较漏洞-笔记
    PhP(MD5、sha1)比较漏洞(弱比较、强比较、强碰撞)弱比较md5和sha1弱比较都是利用php解析哈希值以“0E”开头的特性,结果都为0符合参数1的字符串值和参数2的字符串值不相等,但md5值相等。如:240610708,aabg7XSs,aabC9RqS,s878926199a这四段字符串MD5编码后结果分别对应240610708:0E462097......
  • 高精度模板-结构体
    #include<iostream>#include<cstring>#include<cstdio>#include<cmath>usingnamespacestd;structBigNum{intlen,s[9999];BigNum(){memset(s,0,sizeof(s));len=1;}BigNumoperator=(......
  • 模板
    C++提供了模板(template)编程的概念。所谓模板,实际上是建立一个通用函数或类,其类内部的类型和函数的形参类型不具体指定,用一个虚拟的类型来代表。这种通用的方式称为模板。模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。一.函数模板1.定义:template......
  • 对应4种作文模板
    2016下半年(问题解决)Inthecontemporaryworld,_(主题词)have/hasbecomeincreasinglyimportant.It'sofgreatnecessityfor___to.Reasonsandconcreteevidencetosupportmyviewpointareasfollows.​ Inthefirstplace,thereisnodoubtthat_____________......
  • 关于PHP正则表达式这回事
    ......
  • php特性第一天
    目录899091929394959697989989preg_match()返回pattern的匹配次数。它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后将会停止搜索。preg_match_all()不同于此,它会一直搜索subject直到到达结尾。如果发生错误preg_match()返回FALSE。get方式传入num参数,然后通......
  • php特性第二天
    99array_push()函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。该函数等于多次调用$array[]=$value。in_array()函数搜索数组中是否存在指定的值。(注意:in_array()函数有漏洞没有设置第三个参数就可以形成自动转换)file_put_contents()函......
  • 制作一个生产环境可用的PHP基础镜像
    目录引言了解PHP基础镜像需求分析以及镜像选择构建准备最终的Dockerfile引言初学docker一定会觉得Dockerfile很难,其实只是无从下手的缘故。最好的学习方法就是看完每个Dokerfile指令的作用,然后不要急着去搞清楚,直接挑选一个你比较熟悉的服务软件动手自己制作一个。最......
  • openbiz PHP开源框架,企业级应用的功能基本都有了
    [url]http://www.iteye.com/topic/1128832[/url]openbizPHP开源框架,企业级应用的功能基本都有了我使用了一段时间,感觉还不错,现在推荐大家试试开源下载地址:http://code.google.com/p/openbiz-cubiQ群214408120[img]http://dl.iteye.com/upload/attach......
  • centos7安装erlang、rabbitmq以及php扩展
    centos7安装erlang、rabbitmq以及php扩展标签(空格分隔):liunx,php安装Erlang版本:el7erlang-20.3.8.25erlang-20.3.8.25-1.el7.x86_64.rpm1.下载wget--content-disposition"https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-20.3.8.25-1.el7.x86_64.rpm/d......