Przejdź do głównej zawartości

60. Konwerter formatów tekstowych

Konwerter formatów tekstowych

Aplikacja do transformacji tekstu: konwersja CSV na JSON i z powrotem, zmiana wielkości liter, usuwanie nadmiarowych spacji, zliczanie słów i znaków.

  • Parsowania CSV (str_getcsv, fgetcsv)
  • Konwersji tablic do JSON i z powrotem
  • Manipulacji ciągami: mb_strtoupper, mb_strtolower, trim
  • Budowania wielofunkcyjnego narzędzia webowego

Konwersja danych między formatami to codzienne zadanie programisty: importy, eksporty, integracje systemów. PHP ma wbudowane funkcje do obsługi CSV i JSON, których znajomość jest niezbędna.

  1. Formularz: wklej tekst lub wgraj plik + wybierz operację
  2. Operacja: CSV→JSON / JSON→CSV / UPPERCASE / lowercase / Trim
  3. Wyświetlenie przetworzonego wyniku w textarea
  4. Statystyki: liczba znaków, słów, linii
  5. Przycisk kopiowania wyniku do schowka (JS)
{
"history": [
{
"id": 1,
"operation": "csv_to_json",
"input_length": 150,
"output_length": 280,
"created_at": "2026-02-10 14:30:00"
}
]
}
  • Textarea na wejście i wyjście
  • Operacje: UPPERCASE, lowercase, trim
  • Statystyki: liczba znaków i słów
  • Walidacja: pole wejście nie puste
Ocena: 3.0
<?php
// Konwersja CSV → JSON
function csvToJson(string $csv, string $delimiter = ','): string {
$rows = [];
$lines = explode("\n", trim($csv));
$headers = str_getcsv(array_shift($lines), $delimiter);
foreach ($lines as $line) {
if (empty(trim($line))) continue;
$values = str_getcsv($line, $delimiter);
$rows[] = array_combine($headers, $values);
}
return json_encode($rows, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
}
// Konwersja JSON → CSV
function jsonToCsv(string $json): string {
$data = json_decode($json, true);
if (!is_array($data) || empty($data)) return '';
$output = [];
$headers = array_keys($data[0]);
$output[] = implode(',', $headers);
foreach ($data as $row) {
$output[] = implode(',', array_map(function($val) {
return '"' . str_replace('"', '""', $val) . '"';
}, $row));
}
return implode("\n", $output);
}
// Statystyki tekstu
function getTextStats(string $text): array {
return [
'chars' => mb_strlen($text),
'chars_no_spaces' => mb_strlen(str_replace(' ', '', $text)),
'words' => str_word_count(strip_tags($text)),
'lines' => substr_count($text, "\n") + 1,
];
}

Narzędzie dla każdego developera!

Zacznij od prostych operacji na tekście (uppercase, trim), potem dodaj CSV↔JSON. To narzędzie, którego sam będziesz używać!