我需要以逗号分隔管理转义。这是一个字符串示例:
var1,t3st,ax_1,c5\,3,last
我需要这个拆分:
var1
t3st
ax_1
c5\,3
last
请注意这一点:“c5\,3”未拆分。
我试过这个:
$expl=preg_split('#[^\\],#', $text);
但是我丢失了每个拆分的最后一个字符。
使用这个正则表达式
$str = 'var1,t3st,ax_1,c5\,3,last';
$expl=preg_split('#(?<!\\\),#', $str);
print_r($expl); // output Array ( [0] => var1 [1] => t3st [2] => ax_1 [3] => c5\,3 [4] => last )
尝试向后看:
preg_split('#(?<!\\),#', $text);
做一个三阶段的方法
首先替换\,用一些“独特”的东西,比如\\
用“,”分开
用。。。来代替 \,
这不如正则表达式好,但它会起作用;)
这个可以吗 ?
<?php
$text = "var1,t3st,ax_1,c5\,3,last";
$text = str_replace("\,", "#", $text);
$xpode = explode(",", $text);
$new_text = str_replace("#", "\,", $xpode);
print_r($new_text);
?>
输出
Array ( [0] => var1 [1] => t3st [2] => ax_1 [3] => c5\,3 [4] => last )