It's too much trouble to see someone add a ' or any half-width symbol to the character string before the bug can get rid of it. Finally, find a function to simulate the FGETCSV function.
Copy 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;
}