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

Laravel PHP中基于不规则反斜杠分割字符串

解决Laravel/PHP中按不定数量反斜杠分割字符串的问题

没问题,这个需求用正则分割就能轻松搞定,我给你具体方案:

你的核心问题是要把连续的一个或多个反斜杠作为分隔符,把字符串拆分成数组——之前用str_replace直接替换反斜杠的思路不对,因为这样会直接丢掉分割的边界,导致所有内容连在一起。

具体实现代码

在PHP(Laravel基于PHP,直接用即可)中,我们可以用preg_split函数,搭配匹配连续反斜杠的正则表达式:

// 你的输入字符串(注意PHP中反斜杠需要转义,所以示例里的反斜杠数量要对应)
$input = "abcd\\efg\\\\hij\\klm\\\\\\\opq";

// 用preg_split分割:匹配一个或多个连续的反斜杠作为分隔符
$outputArray = preg_split('/\\+/', $input);

// 输出结果就是你要的数组
print_r($outputArray);

运行这段代码后,输出的数组就是:

Array
(
    [0] => abcd
    [1] => efg
    [2] => hij
    [3] => klm
    [4] => opq
)

更健壮的版本(处理首尾反斜杠)

如果你的输入字符串可能在开头或结尾出现反斜杠(比如\\abcd\\efg\\),分割后会产生空元素,这时候可以加上PREG_SPLIT_NO_EMPTY参数自动过滤空值:

$outputArray = preg_split('/\\+/', $input, -1, PREG_SPLIT_NO_EMPTY);

这样即使首尾有反斜杠,也只会得到有效内容的数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 11:57:42