如何通过分隔符拆分字符串,但如果转义则不行?比如我有一个字符串:
1|2\|2|3\\|4\\\|4
分隔符是|
,转义分隔符是\|
。此外,我想忽略转义的反斜杠,因此在 \\|
中,|
仍然是分隔符。
所以使用上面的字符串,结果应该是:
[0] => 1
[1] => 2\|2
[2] => 3\\
[3] => 4\\\|4
最佳答案
使用黑魔法:
$array = preg_split('~\\\\.(*SKIP)(*FAIL)|\|~s', $string);
\\\\.
匹配反斜杠后跟一个字符,(*SKIP)(*FAIL)
跳过它,\|
匹配您的分隔符。
关于php - 按分隔符拆分字符串,但如果转义则不拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6243778/