• Czas czytania ~1 min
  • 19.10.2023

Załóżmy, że masz akapit tekstu z różnego rodzaju dziwnym formatowaniem. Może to od kogoś, kto kopiuje i wkleja tekst do Twojego CMS, lub jest po prostu w dziwnym stanie. Coś takiego:

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

Jak widać, ma dodatkowe spacje, znak nowego wiersza, znak tabulacji i po prostu dziwnie sformatowany.

Laravel zapewnia świetne rozwiązanie tego problemu, squish zwane metodą pomocników String.

str($paragraph)->squish();

Po przeprowadzeniu go przez squish to wszystko zostaną usunięte:Pod maską oto, co faktycznie robi ta metoda:Oto wyjaśnienie:

"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));
}

  • Pierwszy preg_replace usuwa wiodące i końcowe spacje lub znaki zestawienia komponentów.
  • Drugi preg_replace zastępuje jeden lub więcej kolejnych białych znaków lub specjalnych wypełniaczy pojedynczą spacją.

Gwarantuje to, że otrzymasz ciąg bez dodatkowych spacji.

Wolę obejrzeć film, oto krótka rolka, którą zrobiłem na stronie @laravelnews na Instagramie , obejmująca to:

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

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...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297