preg_split() - 管道字符问题

时间:2012-08-09 15:52:43

标签: php regex

我正在尝试拆分格式如下的字符串:

  

值1 ==值1 ||值2 ==值2 || ...“

在==和||处但我的管子有问题。我能够轻松地将它们分开到==但是当我尝试添加管道时,它要么不工作,要么在每个字符处拆分它。我应该使用什么样的模式?谢谢!

2 个答案:

答案 0 :(得分:7)

|是一个特殊字符,应该用反斜杠转义。如果管道数量可变,则使用\|+匹配一个或多个管道并拆分,或者\|\|匹配正则表达式中的两个管道。

preg_split('/\|+/', $your_string)

然而,如果总是两个管道,最好使用普通的explode("||" $your_string)

答案 1 :(得分:2)

管道(|)在正则表达式中具有特殊含义。用\转义它。