preg_split表达式用于通过分隔符拆分字符串

时间:2013-09-14 04:37:25

标签: php regex preg-split

我正在尝试拆分包含空格和文字的行。我没有得到正确的输出

$line = '"name" "Brand" "EAN"   "shipping" "Combinable"';
$lineArray = preg_split('/^\"\s+\"/', $line);
print_r($lineArray);

1 个答案:

答案 0 :(得分:1)

您不需要转义引号,并且您的拆分不正确地锚定在字符串的开头。试试这个:

$line = '"name" "Brand" "EAN"   "shipping" "Combinable"';
$lineArray = preg_split('/"\s+"/', $line);

请注意,这会导致第一个元素以引号开头,最后一个元素以引号结束。要保留引号,请使用断言:

$lineArray = preg_split('/(?<=")\s+(?=")/', $line);

这会产生$lineArray之类的(注意它如何保留引号):

Array ( [0] => "name" [1] => "Brand" [2] => "EAN" [3] => "shipping" [4] => "Combinable" )
相关问题