Heim  >  Artikel  >  Backend-Entwicklung  >  So führen Sie einen String-Abgleich und -Ersatz in PHP durch

So führen Sie einen String-Abgleich und -Ersatz in PHP durch

coldplay.xixi
coldplay.xixiOriginal
2020-10-06 14:25:512633Durchsuche

php字符串匹配替换的方法:执行一个正则表达式搜索并且使用一个回调进行替换,代码为【preg_replace_callback()return  preg_replace_callback('/\\{([\w\-\/]+)\\}/'】。

So führen Sie einen String-Abgleich und -Ersatz in PHP durch

php字符串匹配替换的方法:

 <?php
    $templ = "{username}是个大{adj}比{end}";//测试字符串
    //对应数据
    $datas = [
        &#39;username&#39; => &#39;我&#39;,
        &#39;adj&#39; => &#39;帅&#39;,
        &#39;end&#39; => &#39;。&#39;,
    ];
    //不需要替换的字符串
    $noMatchs = [&#39;end&#39;];
    function render($datas = array(), $templ = &#39;&#39;, $noMatchs = array()) {
            //preg_replace_callback()
            //执行一个正则表达式搜索并且使用一个回调进行替换
            return  preg_replace_callback(&#39;/\\{([\w\-\/]+)\\}/&#39;, function ($matches) use ($datas, $noMatchs) {
                //$matches[1]返回如:username
                $name = $matches[1];
                if (in_array($name, $noMatchs)) {
                    //$mathches[0]返回如:{end}
                    return $matches[0];
                }
                return array_key_exists($name, $datas) ? $datas[$name] : &#39;&#39;;
            }, $templ);
        }
    var_dump(render($datas, $templ, $noMatchs));
    //输出结果为:&#39;我是个大帅比{end}&#39;

相关免费学习推荐:php编程(视频)

Das obige ist der detaillierte Inhalt vonSo führen Sie einen String-Abgleich und -Ersatz in PHP durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn