php PHP用Object替换占位符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php PHP用Object替换占位符相关的知识,希望对你有一定的参考价值。

<?php

    //usage example
    //result : 
    //https://google.com/page/nav/Ahmad/123
    //result : https://google.com/page/nav/Ali/124
    
    $list = [
      [
        'name'=>'Ahmad',
        'id'=>123
      ],
      [
        'name'=>'Ali',
        'id'=>124
      ] 
    ];
    
    $list = (obj) $list;
    
    if(!empty($list)){
      foreach($list as $item){
        $url = 'https://google.com/page/nav/{name}/{id}';
    
        $real_url = replacePlaceholderValue($url, $item)
        echo $real_url;
      }
    }
    
    //get all placeholder keys within string

    function getPlaceholderKey($placeholder)
    {
        preg_match_all('/{(.*?)}/', $placeholder, $matches);

        if (!empty($matches)) {
            return $matches[1];
        }

        return [];
    }
    
    //replace placeholder with object value
    
    function replacePlaceholderValue($string, $item)
    {
        $placeholder_list = getPlaceholderKey($string);

        if (!empty($placeholder_list)) {
            foreach ($placeholder_list as $placeholder) {
                $string = str_replace('{'.$placeholder.'}', $item->$placeholder, $string);
            }
        }

        return $string;
    }

以上是关于php PHP用Object替换占位符的主要内容,如果未能解决你的问题,请参考以下文章

php 替换“在此处输入标题”占位符文本

php facetwp替换日期选择器占位符文本

是否可以在图像内制作占位符并稍后替换它?

Java 模板变量替换(字符串占位符替换)

试图用实际数据替换占位符文本,但它不起作用

PHP 占位符