【发布时间】:2016-04-10 14:18:15
【问题描述】:
编辑:我太从字面上理解了 - 一位评论者正确地指出查询字符串中的 + 只是一个空格的 url 编码 - 很抱歉造成混淆
我需要用几个分隔符 (, 和 +) 来分割一个字符串。背景是我将查询字符串参数保存到 $query 中(例如:$query = $_GET["geo"];),我想根据 , 和 + 将它们分成不同的部分(而不是空格,因为城镇并且状态可以有多个单词):
?geo=剑桥+马萨诸塞州或
?geo=马萨诸塞州剑桥
阅读here我正在尝试这样:
$query_array = preg_split("/[+,]+/", $query, -1, PREG_SPLIT_NO_EMPTY);
它为 分裂,但不是为 +
我需要逃避它吗?还是我应该以一种根本不同的方式来做这件事?
提前感谢您的帮助!
【问题讨论】:
-
/[\+,]+/是的,逃脱它。就像这样通过添加前面的`\` -
@Martin 反斜杠也需要转义吧?那么
/[\\+,]+/? -
@Chris 没有。通过 regex101.com 运行代码会得到正确的结果,而不会转义反斜杠。 OP 正在搜索
+而不是\+。 -
norepro => 显示你的相关真实代码
-
请发布输入和所需输出的清晰示例。
标签: php preg-split