これを使用して、タブで区切られたテキスト文字列の最初の行を抽出します。
$column_pattern = "/(.*?)\r\n/";
preg_match($pattern, $tsv, $columns);
print_r($columns[0]);
これにより、テキスト文字列の最初の行が正常に印刷されます。ただし、削除したいので、この後にすべての行があります。しかし、これは
$rows = preg_replace($column_pattern, "", $tsv);
echo $rows;
文字列のすべての行を置き換えます。しかし、正規表現で複数行フラグを使用していません。なぜこれがこのように振る舞うのでしょうか?