mb_trim / mb_ltrim / mb_rtrim în PHP

Elimină spațiile Unicode (sau caracterele date) de la capetele unui text, inclusiv spațiul neseparabil.

Sintaxă
mb_trim(string $string, ?string $characters = null, ?string $encoding = null): string

Ce face mb_trim / mb_ltrim / mb_rtrim

trim elimină doar spațiile obișnuite și câteva caractere de control. Textele copiate din Word sau din pagini web conțin adesea spațiul neseparabil (\u{a0}) sau alte spații Unicode, pe care trim nu le vede. mb_trim, apărută în PHP 8.4, le elimină pe toate.

mb_ltrim curăță doar începutul, iar mb_rtrim doar sfârșitul. Parametrul $characters poate conține și litere cu diacritice, spre deosebire de trim, care lucrează pe octeți.

Parametri

Parametru Descriere
$string Textul de curățat.
$characters Opțional. Caracterele eliminate. Implicit, toate spațiile Unicode.
$encoding Opțional. Codarea textului.

Ce returnează

Textul curățat.

Exemple

Exemplul 1: Spațiu neseparabil copiat dintr-un document

<?php
$text = "\u{a0} Iași\u{a0}";

var_dump(trim($text));
var_dump(mb_trim($text));

Rezultat

string(10) "  Iași "
string(5) "Iași"

Exemplul 2: Ghilimele românești și curățare pe o singură parte

<?php
var_dump(mb_trim("„Iași”", "„”"));
var_dump(mb_ltrim("…text…", "…"));
var_dump(mb_rtrim("…text…", "…"));

Rezultat

string(5) "Iași"
string(7) "text…"
string(7) "…text"

Greșeli frecvente

  • Folosești trim cu diacritice în $characters. trim elimină fiecare octet separat: trim("Ăla", "ă") taie primul octet al lui „Ă” (comun cu „ă”) și lasă un caracter stricat. Folosește mb_trim.

Comenzi înrudite

  • trim: Elimină spațiile (sau alte caractere) de la începutul și sfârșitul unui text.
  • mb_strlen: Returnează lungimea unui text în caractere, numărând corect literele cu diacritice.
  • preg_replace: Înlocuiește toate potrivirile unei expresii regulate cu alt text.