• Время чтения ~0 мин
  • 19.10.2023

Допустим, у вас есть абзац текста со всевозможным странным форматированием. Может быть, это из-за того, что кто-то копирует и вставляет текст в вашу CMS, или он просто находится в странном состоянии. Что-то вроде этого:

$paragraph = "hello this is a test \n  \t just a test   and stuff ";

Как видите, в нем есть лишние пробелы, символ новой строки, символ табуляции и просто странный формат.

Laravel предоставляет отличное решение этой проблемы, squish называемое методом вспомогательных функций String.

str($paragraph)->squish();

После того, как вы пройдете через squish него, вы удалите все лишнее:Под капотом, вот что на самом деле делает этот метод:

"hello this is a test just a test and stuff"

Вот объяснение:

/**
 * Remove all "extra" blank space from the given string.
 *
 * @param  string  $value
 * @return string
 */
public static function squish($value)
{
    return preg_replace('~(\s|\x{3164}|\x{1160})+~u', ' ', preg_replace('~^[\s\x{FEFF}]+|[\s\x{FEFF}]+$~u', '', $value));
}

  • Первый preg_replace удаляет начальные и конечные пробелы или символы спецификации.
  • Во втором preg_replace случае один или несколько последовательных пробелов или специальных заполнителей заменяются одним пробелом.

Это гарантирует, что вы получите строку без лишних пробелов.

Если вы предпочитаете посмотреть видео, вот короткий ролик, который я сделал для @laravelnews страницы в Instagram , посвященный этому:

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297