PHP 正则表达式从字符串解析参数


php regex parsing parameters from a string

我需要使用正则表达式解析字符串中的参数。

我的示例字符串:

'my page',1234,'main', '800,600', 45

期望的输出:

Array(
[0] => my page
[1] => 1234
[2] => main
[3] => 800,600
[4] => 45
)

看起来您拥有的是逗号分隔的值。也许str_getcsv()会更好地为您服务,因为它已经可以解释引号字符串内的逗号。

print_r(str_getcsv("'my page',1234,'main', '800,600', 45", ',', "'"));
Array
(
    [0] => my page
    [1] => 1234
    [2] => main
    [3] => 800,600
    [4] =>  45
)

这不会修剪第 4 项中"45"之前的空格,但如果有必要,我们可以使用 array_map()trim() .

print_r(array_map('trim', str_getcsv("'my page',1234,'main', '800,600', 45", ',', "'")));
Array
(
    [0] => my page
    [1] => 1234
    [2] => main
    [3] => 800,600
    [4] => 45
)