【问题标题】:PHP string splitting a pattern separated by a delimiter [duplicate]PHP字符串拆分由分隔符分隔的模式[重复]
【发布时间】:2014-08-29 00:38:26
【问题描述】:

我将有一个如下模式的 php 查询字符串:

?x=a&y=b&z=c

在“?”之后可能有更多参数。 x,y,z 值将仅包含 aA-zZ 之间的字符。但是,a,b,c 值实际上可以是任何值。它们还可能包含 & 字符或 = 字符。有没有办法通过同时考虑正则表达式和分隔符 & 来拆分 x=a 模式并将它们放入关联数组中,如下所示:

$values = array(x => a, y => b, z => c); 

编辑:

我想我应该澄清一下。 x 可以是诸如 note 之类的值。而 a、b、c 可以是 http://yay.com/wahoo?wahoo=3&zahoo=5 等值。

【问题讨论】:

  • parse_str() 应该可以解决问题
  • ... 或 extract($_GET),虽然这可能有点危险。

标签: php regex split delimiter


【解决方案1】:

正如 scrowler 所写,parse_str() 可能会起作用,但是,如果值“可能还包括 & 字符或 = 字符”,你会怎么说 ?x=a&y=b&z=c 应该被解析为:

$values = array(x => a, y => b, z => c); 或者更确切地说:

$values = array(x => a&y=b, z => c);

或: $values = array(x => a&y=b&z=c);

我猜“&”和“=”字符会以某种方式转义,例如使用percent escaping

【讨论】:

    猜你喜欢
    • 2014-06-13
    • 2020-10-03
    • 2020-01-07
    • 2011-08-04
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多