ホームページ  >  記事  >  バックエンド開発  >  Linux_PHP チュートリアルの fgetcvs に関する問題

Linux_PHP チュートリアルの fgetcvs に関する問題

WBOY
WBOYオリジナル
2016-07-21 15:21:13889ブラウズ

漢字を含む文字列の前に「'」などの半角記号を追加してバグに削除させている人を見たことがありますが、これは面倒すぎます。最後に、fgetcsv の機能をシミュレートする関数を見つけました。

コードをコピー コードは次のとおりです:

function __fgetcsv(& $handle, $length = null, $d = ',', $e = '"') {
$d = preg_quote( $d) ;
$e = preg_quote($e);
$eof=false;
while ($eof != true) {
$_line .= (空 ($length) ? fgets ($handle ) : fgets($handle, $length));
$itemcnt = preg_match_all('/' . $e . '/', $_line, $dummy);
$eof = true;
}
$_csv_line = preg_replace('/(?: |[ ])?$/', $d, トリム($_line));
$_csv_pattern = '/(' . $e . '[^' . $e . ']*(?:' . $e . ']*) '|[^' . ]*) ' . $d . '/';
$_csv_pattern, $_csv_matches[1]; $_csv_i = 0; $_csv_i < _csv_data); $_csv_i++) {
$_csv_data[$_csv_i] = preg_replace('/^' . $e . '(.*)' . $e . '$/s', '$1' , $_csv_data[$_csv_i] ]);
$_csv_data[$_csv_i] = str_replace($e . $e, $_csv_data[$_csv_i]);
空の ($_line) を返します : $_csv_data;



http://www.bkjia.com/PHPjc/324935.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/324935.html

漢字を含む文字列の前に ' などの半角記号を追加してバグに削除させている人を見たことがありますが、これは面倒すぎます。ついに、fgetcsvの機能をシミュレートする関数を見つけました...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。