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

PHP开发@提及系统时如何用正则从字符串中提取client:id类标识

PHP提取@提及标识实现方案

你可以通过PHP内置的preg_match_all函数配合正则表达式实现需求,完整实现逻辑如下:

实现思路

你的@提及格式固定为@[展示文本](标识内容),只需要通过正则捕获括号内的client:数字格式内容即可,匹配过程会自动识别文本中所有符合规则的标识,不需要手动遍历处理。

完整代码示例

// 待处理的原始文本
$rawContent = "This is my text how do you like it @[John Doe (#6)](client:6) and do you have any thoughts @[Jane Doe (#7)](client:7)";

// 正则匹配规则:精准匹配@[xxx](client:数字)结构,捕获目标标识
$pattern = '/@\[.+?\]\((client:\d+)\)/';

// 执行全局匹配
preg_match_all($pattern, $rawContent, $matchResult);

// 提取结果数组,$matchResult[1] 存储了所有匹配到的标识
$mentionList = $matchResult[1];

// 测试输出
print_r($mentionList);

输出结果

执行后得到的$mentionList就是你需要的格式:

Array
(
    [0] => client:6
    [1] => client:7
)

拓展说明

如果后续需要支持其他前缀的标识(比如user:12、group:3等),只需要把正则中的client替换为适配规则即可,比如适配所有小写字母前缀的规则为/@\[.+?\]\(([a-z]+:\d+)\)/。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:06:04