It's too cumbersome to see someone adding a ' or an arbitrary half-width symbol to a character string before the bug can get rid of it. Finally, find a function that simulates the FGETCSV function.
Copy the Code code as follows:
Function __fgetcsv (& $handle, $length = null, $d = ', ', $e = ' "') {
$d = Preg_quote ($d);
$e = Preg_quote ($e);
$_line = "";
$eof =false;
while ($eof! = True) {
$_line. = (Empty ($length)? Fgets ($handle): Fgets ($handle, $length));
$itemcnt = Preg_match_all ('/'. $e. '/', $_line, $dummy);
if ($itemcnt% 2 = = 0)
$eof = true;
}
$_csv_line = Preg_replace ('/(?: |[])? $/', $d, Trim ($_line));
$_csv_pattern = '/('. $e. ' [^ '. $e. ']* (?: '. $e. $e. ' [^ '. $e. ']*)*' . $e. ' | [^ '. $d. ']*)' . $d. ‘/';
Preg_match_all ($_csv_pattern, $_csv_line, $_csv_matches);
$_csv_data = $_csv_matches[1];
for ($_csv_i = 0; $_csv_i < count ($_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, $e, $_csv_data[$_csv_i]);
}
Return empty ($_line)? false: $_csv_data;
}
The above is a description of the love Fgetcvs in the Linux issue, including the content of the I-like-a-song, and hope that the PHP tutorial interested in the help of friends.