[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Форматирование строки в виде CSV
Владимир55
Функция fputcsv форматирует строку в виде CSV и записывает её в файловый указатель. Имеется ли в РНР функция, выполняющая аналогичное действие, но без записи в файл?
Trianon
<?php

function
csv_ceil($t0) // csv-преобразование текста одной ячейки
{
$q = $GLOBALS['csv_quot'];
$t1 = str_replace("\x0D\x0A", "\x0A", $t0); $f1 = $t0 != $t1;
$t0 = str_replace($q, $q.$q, $t1); $f2 = $t0 != $t1;
$t1 = '';
$f3 = strpos($t0, $GLOBALS['csv_sep']) !== false;
if($f3||$f2||$f1) $t0 = $q.$t0.$q;
return $t0;
}
function csv_row($r, $s=';', $q='"') // csv-преобразование текста одной строки
{
$GLOBALS['csv_quot']= $q;
$GLOBALS['csv_sep']= $s;
return implode($s, array_map('csv_ceil', $r))."\x0D\x0A";
}

// далее пример применения

// готовим вывод в файл

header("Content-Type: Application/octet-stream; name=\"csv.csv\"");
header("Content-Disposition: attachment; filename=\"csv.csv\"");

// берем текст позаковыристее
$txt =file_get_contents(__FILE__);

//делаем массив из двух одинаковых ячеек с таким текстом
$row[0]= $row[1] = $txt;

//получаем csv с кавычкми "..." и разделителями полей 1;2;3
echo csv_row($row, ';','"');

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.