Skip to content

Все для WordPress, веб-розробки — і не тільки

Текстовий список у масив: PHP, JavaScript, Python, Perl, JSON, SQL

Текстовий список у масив: PHP, JavaScript, Python, Perl, JSON, SQL

Вставте колонку з Excel, вивід SQL-запиту чи просто перелік по рядку — отримаєте готовий масив із коректним екрануванням для семи форматів. Все обчислюється у вашому браузері: список нікуди не надсилається і ніде не зберігається.

Перетягніть сюди .txt або .csv — файл читається локально. Колонку з Excel чи Google Sheets можна вставити напряму.
Обробка значень

Придатний і для TypeScript. const замість var: перевизначення такої змінної стане помилкою ще до запуску.

Вставте список вище — масив з’явиться тут.

Дані не залишають ваш браузер — обчислення виконується локально, без відправки на сервер.

Що саме інструмент робить із кожним значенням

Рядок стає одним елементом масиву. За потреби рядок можна додатково розбити по комах за правилами CSV — тоді кома всередині лапок лишається частиною значення. Далі кожне значення проходить екранування, своє для кожної мови: PHP і Perl з одинарними лапками — екрануються рівно два символи, зворотний слеш і сама лапка. PHP з подвійними лапками — додається знак долара, інакше $HOME у тексті підставить значення змінної. Perl з подвійними лапками — додається ще й равлик, бо @list у Perl теж інтерполюється. JavaScript, TypeScript і Python — зворотний слеш, лапка й керуючі символи у вигляді escape-послідовностей. JSON — строго за RFC 8259, засобами самої мови. SQL — апостроф подвоюється, як велить стандарт. CSV — за RFC 4180: у лапки береться лише поле, де є кома, лапка або крайовий пробіл. Число виводиться без лапок лише тоді, коли воно лишається тим самим числом після обігу через Number(). Артикул 007, номер телефону з нулем на початку, 1e5, 0x1F та ціле понад 2⁵³ такої перевірки не проходять і лишаються рядками.

Чим це відрізняється від старих конвертерів списків

Класичний arrayThis перевіряє «чи це число» викликом isNaN() і не екранує нічого, крім самої лапки. Звідси чотири мовчазні псування, які видно лише під час запуску згенерованого коду: Шлях C:\Users\admin у подвійних лапках дає незакритий рядок — зворотний слеш там починає escape-послідовність. Порожній рядок проходить isNaN() як число і потрапляє у код голою комою: ["a", , "b"]. Артикул 007 стає вісімковим числом у PHP і синтаксичною помилкою у строгому режимі JavaScript. Список, скопійований з Windows, тягне за кожним значенням невидимий символ повернення каретки. Тут усі чотири випадки оброблені, а вивід, підписаний як Perl, справді є Perl: список у круглих дужках, а не конструкція array(), якої у Perl немає.

Часті питання