|
Форуми -> Програмування -> Аналог функцій str_getcsv та getcsv в PHP
|
Підкажіть будь-ласка аналог функцій str_getcsv та getcsv в PHP.
Потрібна функція, яка написана мануально, тому що в мене стара версія PHP і цих функцій не передбачено :(
|
|
Ось таке знайшов в тенетах. Лови!
Але попереджаю - рекомендую протестувати попередньо.
if (!function_exists('str_getcsv2')) {
function str_getcsv2($input, $delimiter = ',', $enclosure = '"', $escape = '\\', $eol = "\n") {
$input=str_replace("\n", '', $input);
$input=$input.',""';
if (is_string($input) && !empty($input)) {
$output = array();
$tmp = preg_split("/".$eol."/",$input);
print_r($tmp);
if (is_array($tmp) && !empty($tmp)) {
while (list($line_num, $line) = each($tmp)) {
if (preg_match("/".$escape.$enclosure."/",$line)) {
for ($i=0;$i<strlen($line);$i++) {
$pos_delimiter = strpos($line,$delimiter);
$pos_enclosure_start = strpos($line,$enclosure);
if ($pos_enclosure_start < $pos_delimiter) {
$enclosed_str = substr($line,1);
$pos_enclosure_end = strpos($enclosed_str,$enclosure);
$enclosed_str = substr($enclosed_str,0,$pos_enclosure_end);
$output[$line_num][] = $enclosed_str;
$offset = $pos_enclosure_end+3;
} else {
$output[$line_num][] = substr($line,0,$pos_delimiter);
$offset = $pos_delimiter+1;
}
$line = substr($line,$offset);
}
} else {
$output[$line_num] = preg_split("/".$delimiter."/",$line);
}
}
return $output[0];
} else {
return false;
}
} else {
return false;
}
}
}
|
|
Книга Фріланс на західному ринку
|
|