Home > Blockchain >  Custom php function for replacing variable with value in PHP
Custom php function for replacing variable with value in PHP

Time:01-31

How to write custom php function for replacing variable with value by passing function parameters?

$template = "Hello, {{name}}!";

$data = [
    'name'=> 'world'
];

echo replace($template, $data);

function replace($template, $data) {

    $name = $data['name'];
    
    return $template;
    
}

echo replace($template, $data); must return "Hello, world!" Thank You!

CodePudding user response:

One way would be to use the built-in str_replace function, like this:

foreach($data as $key => $value) {
  $template = str_replace("{{$key}}", $value, $template);
}

return $template;

This loops your data-array and replaces the keys with your values. Another approach would be RegEx

CodePudding user response:

You can do it using preg_replace_callback_array to Perform a regular expression search and replace using callbacks.

This solution is working for multi variables, its parse the entire text, and exchange every indicated variable.

function replacer($source, $arrayWords) {
    return preg_replace_callback_array(
        [
            '/({{([^{}] )}})/' => function($matches) use ($arrayWords) {
                if (isset($arrayWords[$matches[2]])) $returnWord = $arrayWords[$matches[2]];
                else $returnWord = $matches[2];
                return $returnWord;
            },
        ], 
        $source);
}

demo here

  • Related