用特定值的正则表达式替换字符串

时间:2016-05-01 18:11:25

标签: php regex

我有一个像{[variable_name]}这样的子字符串,想要用括号中指定的变量值替换它。

/\{\[\s*[^0-9][a-zA-Z0-9_]*\s*]}/

这是我的正则表达式,但我不知道,接下来该做什么。 我怎么样?

1 个答案:

答案 0 :(得分:1)

除了评论之外,这还可行:

<?php
$replacements = array();
$replacements["var1"] = "New variable here";
$regex = '~\{\[([^]]+)\]}~';

$string = "This is some string with {[var1]} in it";
$string = preg_replace_callback(
    $regex,
    function ($match) use ($replacements) {
        return $replacements[$match[1]];
    },
    $string);
echo $string;
# This is some string with New variable here in it
?>

观看演示 on ideone.com