• Час читання ~0 хв
  • 19.10.2023

Припустимо, у вас є абзац тексту з усіляким дивним форматуванням. Можливо, це від того, що хтось копіює та вставляє текст у вашу CMS, або це просто в дивному стані. Приблизно так:

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

Як бачите, він має додаткові пробіли, символ нового рядка, символ табуляції і просто дивно відформатований.

Laravel пропонує чудове рішення для цього під назвою squish метод на допоміжних рядках.

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 видаляє початкові та кінцеві пробіли або символи BOM.
  • Другий 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