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

PHP中使用preg_replace删除独立换行指定字符串的问题

解决PHP正则删除独立行"example"的问题

你的原代码无法生效的核心问题有两个:

  1. 未启用多行模式,正则里的^和$默认只匹配整个字符串的首尾,而非每行的首尾
  2. 硬写\r\n仅适配Windows风格换行,且多余的s修饰符(让.匹配换行)在这里完全没必要

正确代码实现

$new_string = preg_replace('/^example\R$/m', '', $string);

代码说明

  • /m:开启多行模式,让^匹配每行开头、$匹配每行结尾
  • \R:匹配任意类型换行符(包含\r\n、\n、\r),兼容不同系统的换行格式
  • 无需preg_quote('example'),因为目标字符串里没有正则特殊字符
  • 移除了无用的si修饰符,避免不必要的匹配干扰

执行这段代码后,会精准删除独立占一行的"example",同时保留<h2>标签内的"example",完全符合预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 23:33:06