我正在尝试拆分包含空格和文字的行。我没有得到正确的输出
$line = '"name" "Brand" "EAN" "shipping" "Combinable"';
$lineArray = preg_split('/^\"\s+\"/', $line);
print_r($lineArray);
答案 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" )