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条)

报告相同问题?

悬赏问题

  • ¥20 数学建模数学建模需要
  • ¥15 关于#lua#的问题,请各位专家解答!
  • ¥15 什么设备可以研究OFDM的60GHz毫米波信道模型
  • ¥15 不知道是该怎么引用多个函数片段
  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline