You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PHP preg_match提取字符串中wp-block的ref数值

提取WordPress Block Ref中的数字

嘿,我来帮你搞定这个提取数字的问题!你已经用preg_match定位到目标片段了,现在只需要调整正则表达式,把ref键对应的数字单独捕获出来就行。

具体实现代码

直接修改你的正则,添加捕获组来锁定数字部分:

$string = '<div class="wp-block-column"><!-- wp:block {"ref":3} /--></div>';

// 正则中用(\d+)捕获ref后面的数字
preg_match('/<!-- wp:block {"ref":(\d+)} \/-->/', $string, $matches);

// 捕获到的数字会存在$matches[1]里
if (isset($matches[1])) {
    $refNumber = $matches[1];
    echo $refNumber; // 输出结果:3
}

正则说明

  • (\d+):这是一个捕获组,专门匹配1个或多个数字,会把匹配到的内容单独存到$matches数组的第2个元素($matches[0]是整个匹配的完整片段)。
  • 整个正则不需要关心<!-- wp:block {"ref":之前的内容,只要目标片段存在,就能精准定位到后面的数字。

拓展(应对可能的格式变化)

如果遇到ref值前后有空格的情况(比如{"ref": 123 }),可以调整正则兼容这种场景:

preg_match('/<!-- wp:block {"ref":\s*(\d+)\s*} \/-->/', $string, $matches);

这里的\s*会匹配0个或多个空白字符,让正则更鲁棒。

内容的提问来源于stack exchange,提问作者Bas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:42:55