0

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

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

1 回答 1

1

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

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

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

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

这会产生一个$lineArraylike(注意它是如何保留引号的):

Array ( [0] => "name" [1] => "Brand" [2] => "EAN" [3] => "shipping" [4] => "Combinable" )
于 2013-09-14T04:39:45.527 回答