带有不规则空格和制表符的文件按列分割/爆炸

din*_*thy 2 php string split

所以我有一个非常旧的文件,有数千行(我猜是手工生成),我正在尝试将它们移动到rdb中,但这些行没有格式/模式转换为列.比如说文件中的行如下所示:

blah   blahsdfas    laslkdlasdj      aksdjla
sldks  slslsl      lsdlksldj           lsdjlfslk
Run Code Online (Sandbox Code Playgroud)

当我看到它时,我可以说它有四个字段,主要是尝试使用awk,但它没有按预期打印列,因为列之间的空间不是制表符或具有相等的空格计数.

你们认为有可能提取?如果是,有人可以帮助PHP片段吗?

Tim*_*per 5

使用preg_split(),您可以使用一个或多个空白字符作为分隔符来排除整个行:

$lines = file('filename', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach($lines as $line)
{
    $pieces = preg_split('/\s+/', $line);
    // do something with pieces
}
Run Code Online (Sandbox Code Playgroud)