Warning: Undefined array key "user_id" in /www/wwwroot/www.wpxsxy.com/wp-content/themes/wpxsxy/extra/medalsystem/medal-system-fn.php on line 4
如何通过preg_replace_callback动态变量替换内容-WP新手学园
  • 如何通过preg_replace_callback动态变量替换内容
  • 昨天在研究一个功能,其中某个部分需要用到正则替换内容,一般来说我们通过preg_replace来进行替换,但是我需要替换的内容也是动态的内容,并不是固定死的,所以就不知道如何解决了,这个时候就体现出自己的只是储备不足了。

    通过谷歌了解之后,我看到了preg_replace_callback函数,虽然不知道这个函数是干什么的,但是看了例子就知道他的运作流程,研究一番之后确定了就是自己需要的内容。

    关于该函数的描述如下:

  • preg_replace_callback 函数介绍
  • 函数介绍
  • (PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

    preg_replace_callback — 执行一个正则表达式搜索并且使用一个回调进行替换

  • 函数说明
  • preg_replace_callback(    string|array $pattern,    callable $callback,    string|array $subject,    int $limit = -1,    int &$count = null,    int $flags = 0): string|array|null

    这个函数的行为除了可以指定一个
    callback 替代
    replacement
    进行替换字符串的计算,其他方面等同于
    preg_replace()。

  • 参数介绍
  • pattern

    要搜索的模式,可以是字符串或一个字符串数组。

    callback

    一个回调函数,在每次需要替换时调用,调用时函数得到的参数是从 subject
    中匹配到的结果。回调函数返回真正参与替换的字符串。这是该回调函数的签名:

    handler(array $matches): string

    经常会需要 callback 函数而仅用于
    preg_replace_callback() 一个地方的调用。在这种情况下,你可以使用
    匿名函数 来定义一个匿名函数作为
    preg_replace_callback()
    调用时的回调。 这样做你可以保留所有调用信息在同一个位置并且不会因为一个不在任何其他地方使用的回调函数名称而污染函数名称空间。

    示例 #1 preg_replace_callback() 和
    匿名函数

    s*w|',        function ($matches) {            return strtolower($matches[0]);        },        $line    );    echo $line;}fclose($fp);?>

    subject

    要搜索替换的目标字符串或字符串数组。

    limit

    对于每个模式用于每个 subject 字符串的最大可替换次数。
    默认是 -1(无限制)。

    count

    如果指定,这个变量将被填充为替换执行的次数。

    flags

    flags 可以是 PREG_OFFSET_CAPTURE
    和 PREG_UNMATCHED_AS_NULL 标志的组合, 这会影响匹配到的结果的格式。
    相关详情请参阅 preg_match() 中的描述。

  • 返回值
  • 如果 subject 是一个数组,
    preg_replace_callback() 返回一个数组,其他情况返回字符串。错误发生时返回 null。
  • 同样的,如何使用呢,这里引用来自stackoverflow的内容:
    如何通过preg_replace_callback动态变量替换内容-WP新手学园

    简单的说就是通过一个函数来处理该变量,并且返回你函数指定内容,可以说是很强大了,相对于固定的内容,如果你需要动态正则替换的话,那么就需要用到该函数了。

    最后,附上图片原文地址: https://stackoverflow.com/questions/51947388/replace-with-dynamic-variable-in-preg-replace

  • 订阅站点了解最新技巧
  • 任何有用的技巧我们均将通过邮件告知你
  • 点击订阅
    高级设置
  • 0
    大惊
    0
    大笑
    0
    发呆
    0
    恶魔
    0
    流泪
    0
    调皮
    0
    笑出泪
    0
    犯困
    0
    坏笑
    0
    疑问
  • 版权声明:整理不易,如无特殊说明,文章内容均为本站原创,转载请注明出处
  • 本文标题:如何通过preg_replace_callback动态变量替换内容
  • 本文链接:https://www.wpxsxy.com/588.html [点击复制]
  • W*
  • 2830776172
  • qweqw
  • qwe
  • 啥都没有,没啥好看的
    主页
    关注
    聊天
    通过get_current_screen()函数对后台页面进行判断
  • 上一篇:
  • 通过get_current_screen()函数对后台页面进行判断
  • WordPress获取附件文件的大小
  • 下一篇:
  • WordPress获取附件文件的大小
  • 相关推荐
    文章评论
    提交评论
    标签推荐