TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #4719 2.96K
Удаление дублирующихся символов в строках

Если вам нужно удалить дубликаты строк в Laravel и PHP-приложениях, в Laravel v11.20 добавлен новый метод deduplicate в String helpers, который позволяет быстро и легко удалять дубликаты символов.

use Illuminate\Support\{Str,Stringable};

$string = '/usr/local////path/to///desktop';

Str::deduplicate($string, '/');
// «/usr/local/path/to/desktop»

(new Stringable($string))->deduplicate('/')->toString();
// «/usr/local/path/to/desktop»


По умолчанию символом замены в методе deduplicate() является пробел, что также может быть использовано для помощника squish(), представленного в Laravel v9.7.0:

Str::deduplicate(' John Smith Jr. '); // « John Smith Jr. »
Str::squish(' John Smith Jr. '); // «John Smith Jr.»


Обратите внимание на лишние пробелы ' ' в начале и в конце при использовании deduplicate(), это сделано специально. Deduplicate используется для замены последовательных экземпляров данного символа на один символ в данной строке. Squish также удаляет другие пробельные символы, такие как новые строки и табуляции:

// Каждый пример возвращает `laravel php framework`:
Str::squish(' laravel php framework '));
Str::squish(«laravel\t\tphp\n\nframework»);
Str::squish('
laravel
php
framework
');
  • 👍 5
  • 👾 1
More from @phpproglib
  1. Oct 2, 2026🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы,…
  2. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  3. Sep 30, 2026🐸 Библиотека пхпшника
  4. Sep 29, 2026💡 Laravel-фича, которая спасает тесты от случайных запросов Http::preventStrayRequests()…
  5. Sep 28, 2026🔐 ramsey/uuid — UUID без самописного кода Библиотека помогает генерировать, парсить и вал…
  6. Sep 28, 2026🤔 Что выведет код? ❤️ — 1 🔥 — 2 👍 — 12 👾 — Fatal error 👇 Правильный ответ (нажми, что…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →