doujiu8826 2017-04-10 22:02
浏览 33
已采纳

试图调用preg_replace中的函数

$string = 'Hello [user=1]';

$bbc = array('/\[user=(.*?)\]/is');

$replace = array(user('textlink',$1));
$s = preg_replace($bbc , $replace, $string);
echo $s

How do I change $1 in preg_replace with a function?

  • 写回答

2条回答 默认 最新

  • donlih2986 2017-04-10 22:15
    关注

    If I understand you correctly, you want to execute user() function on each match? As mentioned in comments, use the preg_replace_callback() function.

    <?php
    $string = 'Hello [user=1]';
    $s = preg_replace_callback(
        '/\[user=(.*?)\]/is',
        function($m) {return user('textlink', $m[1]);},
        $string
    );
    echo $s;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了