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

如何修改PHP字段映射函数,实现按内容包含规则的模糊匹配替换?

实现代码

function my_map_field( $data ) {
    // 键为需要匹配的模糊关键词,值为对应的映射结果
    $map = [
        '12 years' => '12+',
        '4 years' => '4+',
        '7 years' => '7+',
        '9 years' => '9+',
    ];

    foreach ($map as $keyword => $result) {
        // 用mb_stripos支持多字节字符且不区分大小写,需要区分大小写可替换为mb_strpos
        if (mb_stripos($data, $keyword) !== false) {
            return $result;
        }
    }

    // 未匹配到返回空值
    return '';
}

逻辑说明

  • 你可以根据业务需要直接调整$map数组的键值对,新增匹配规则只需要加对应元素即可
  • 如果存在多个关键词同时匹配的情况,会优先返回数组中排在前面的关键词对应的结果,你可以通过调整数组元素顺序控制优先级
  • 代码中使用mb_stripos是为了兼容多字节字符且不区分大小写,如果你不需要这些特性,也可以用PHP原生的stripos(不区分大小写、单字节)或者strpos(区分大小写、单字节)函数替换,性能会略高一点
  • 如果你需要未匹配时返回null而非空字符串,只需要把最后一行的return '';改为return null;即可

内容的提问来源于stack exchange,提问作者Michal Kovalčík

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:54:03