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

PHP如何带条件使用str_replace仅替换字符串开头的指定内容

str_replace 是全局匹配替换,会替换字符串中所有符合条件的内容,自然不适合只替换开头字符的场景,你可以用下面两种方法实现需求:

方法1:字符串截取判断(性能更高,适合简单场景)

先判断字符串前两位是否为92,满足条件的话直接拼接替换即可:

// 先确保处理后的字符串长度至少为2,避免下标报错
if (strlen($phone) >= 2 && substr($phone, 0, 2) == '92') {
    $phone = '0' . substr($phone, 2);
}

处理后你拿到的$phone就是03007881292,符合预期。

方法2:正则锚定开头替换(写法更简洁)

用正则的^锚定符匹配字符串开头,只会替换开头位置的92:

$phone = preg_replace('/^92/', '0', $phone);

如果担心有前导空格的情况,可以加个\s*匹配开头的空白字符:preg_replace('/^\s*92/', '0', $phone)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:24:03