php preg_split通过可能包含空格的字段中的多个空格和制表符使行爆炸

时间:2018-10-26 12:32:26

标签: php

我需要解析以下格式的字符串

A 4 "AB5672HMKL" B 9500 8150 39  0000 L XFN "ProductPN"
  • 空格,制表符或定界符的多个组合
  • 双引号中的是字符串

我想出了最简单的方法,直到今天:)

$parts = preg_split('/\s+/', $line);

我发现字符串也可以包含空格!

A 4 "AB5672HMKL OLD" B 9500 8150 39  0000 L XFN "ProductPN"

现在很明显,我的旧代码无法正常工作。 有什么好主意吗?预先谢谢你。

1 个答案:

答案 0 :(得分:1)

您可以使用str_getcsv()

<?php
$line = 'A 4 "AB5672HMKL OLD" B 9500 8150 39  0000 L XFN "ProductPN"';

print_r(str_getcsv($line, ' '));

输出:-{https://3v4l.org/6Qs5e