Удаление дублирующихся символов в строках
Если вам нужно удалить дубликаты строк в Laravel и PHP-приложениях, в Laravel v11.20 добавлен новый метод deduplicate в String helpers, который позволяет быстро и легко удалять дубликаты символов.
По умолчанию символом замены в методе deduplicate() является пробел, что также может быть использовано для помощника squish(), представленного в Laravel v9.7.0:
Обратите внимание на лишние пробелы ' ' в начале и в конце при использовании deduplicate(), это сделано специально. Deduplicate используется для замены последовательных экземпляров данного символа на один символ в данной строке. Squish также удаляет другие пробельные символы, такие как новые строки и табуляции:
Если вам нужно удалить дубликаты строк в 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
');