mb_str_pad în PHP

Completează un text până la o lungime dată, numărând corect caracterele cu diacritice.

Sintaxă
mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string

Ce face mb_str_pad

mb_str_pad face același lucru ca str_pad, dar lungimea se măsoară în caractere. Astfel coloanele cu texte românești rămân aliniate.

Funcția a apărut în PHP 8.3. Acceptă aceleași moduri: STR_PAD_RIGHT, STR_PAD_LEFT, STR_PAD_BOTH.

Parametri

Parametru Descriere
$string Textul de completat.
$length Lungimea finală, în caractere.
$pad_string Opțional. Caracterele folosite la completare. Pot avea și diacritice.
$pad_type Opțional. STR_PAD_RIGHT, STR_PAD_LEFT sau STR_PAD_BOTH.
$encoding Opțional. Codarea textului.

Ce returnează

Textul completat.

Exemple

Exemplul 1: str_pad comparat cu mb_str_pad

Barele verticale arată unde se termină fiecare rezultat. Cu str_pad, orașele cu diacritice primesc mai puține puncte.

<?php
foreach (["Cluj", "Iași", "Țăndărei"] as $oras) {
    echo str_pad($oras, 10, ".") . "| " . mb_str_pad($oras, 10, ".") . "|\n";
}

Rezultat

Cluj......| Cluj......|
Iași.....| Iași......|
Țăndărei| Țăndărei..|

Exemplul 2: Titlu centrat

<?php
echo mb_str_pad(" Învățăm ", 21, "─", STR_PAD_BOTH);

Rezultat

────── Învățăm ──────

Greșeli frecvente

  • Folosești funcția pe un server cu PHP 8.2 sau mai vechi și primești Call to undefined function mb_str_pad().

Comenzi înrudite

  • str_pad: Completează un text până la o anumită lungime, adăugând caractere la dreapta, la stânga sau pe ambele părți.
  • mb_strlen: Returnează lungimea unui text în caractere, numărând corect literele cu diacritice.
  • sprintf: Construiește un text formatat după un șablon și îl returnează, fără să îl afișeze.