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

如何调整PHP正则实现标点空格规范化并适配省略号等例外场景

正则适配省略号场景的调整方案

调整思路

新增两条规则即可覆盖省略号场景,不影响原有已适配的三类例外逻辑:

  1. 优先执行省略号统一规则:将所有前后带空白的三个连续点,直接转换为无前后空白的...
  2. 在原有单标点处理正则中新增连续点排除条件,避免省略号中的单个点被误匹配拆分

最终可运行代码

// 第一步:前置处理所有省略号,统一规整为无前后空格的...
$variation['DESCRIPTION'] = preg_replace('#\s*\.{3}\s*#', '...', $variation['DESCRIPTION']);
// 第二步:原有单标点处理规则,新增连续点排除逻辑,避免拆分省略号
$variation['DESCRIPTION'] = preg_replace('#\s*([:,.])(?!(?<=\d.)\d)(?!(?<=ό,)τι)(?!(?<=\.)\.|\.(?=\.))\s*#ui', '$1 ', $variation['DESCRIPTION']);
// 第三步:收尾清理首尾空白和多余br标签
$variation['DESCRIPTION'] = preg_replace('#^\s*(<br />)*\s*|\s*(<br />)*\s*$#', '', $variation['DESCRIPTION']);

规则说明

新增的(?!(?<=\.)\.|\.(?=\.))条件作用为:跳过所有属于连续点的单个.,不会对省略号中的点做单独处理,保证...始终为一个整体。
该方案完全保留了你原有适配逻辑,仅新增省略号相关处理,不会影响已经兼容的十进制数字、千位分隔符数字、希腊语固定短语场景。

内容的提问来源于stack exchange,提问作者Faye D.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:06:04