替换和检索占位符值

替换和检索占位符值

本文介绍了替换和检索占位符值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有什么方法可以比下面的代码更有效地替换同一字符串中的一个值并检索另一个值,例如组合preg_replace()preg_match()的方法?

$string = 'abc123';
$variable = '123';
$newString = preg_replace("/(abc)($variable)/",'$1$2xyz', $string);
preg_match("/(abc)($variable)/", $string, $matches);
$number = $matches[2];

推荐答案

您可以一次调用preg_replace_callback()并更新回调函数代码中$number的值:

$string = 'abc123';
$variable = '123';

$number = NULL;
$newString = preg_replace_callback(
    "/(abc)($variable)/",
    function ($matches) use (& $number) {
        $number = $matches[2];
        return $matches[1].$matches[2].'xyz';
    },
    $string
);

我认为速度没有大的提高。唯一的优势可能是可读性。

这篇关于替换和检索占位符值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-24 18:47