本文介绍了PHP preg_place()反向引用用作另一个函数的参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用正则表达式从标记中提取信息,然后根据标记的各个部分返回结果。

preg_replace('/<(example )?(example2)+ />/', analyze(array($0, $1, $2)), $src);

所以我抓取部件并将其传递给analyze()函数。在那里之后,我希望根据部件本身进行工作:

function analyze($matches) {
    if ($matches[0] == '<example example2 />')
          return 'something_awesome';
    else if ($matches[1] == 'example')
          return 'ftw';
}
但是一旦我进入分析函数,$matches[0]就等于字符串‘$0’。相反,我需要$matches[0]引用preg_place()调用中的反向引用。我如何才能做到这一点?

谢谢。

编辑:我刚才看到了preg_place_callback()函数。也许这就是我要找的…

推荐答案

您不能那样使用preg_replace。您可能需要preg_replace_callback

这篇关于PHP preg_place()反向引用用作另一个函数的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-11 02:58