chunk_split în PHP

Împarte un text în bucăți de lungime fixă și pune un separator după fiecare bucată.

Sintaxă
chunk_split(string $string, int $length = 76, string $separator = "\r\n"): string

Ce face chunk_split

chunk_split inserează $separator la fiecare $length caractere, inclusiv după ultima bucată. Rezultatul este tot un text, nu un tablou.

Este folosită mai ales pentru a împărți conținutul codat Base64 în rânduri de 76 de caractere, cum cer standardele de email. Pentru un tablou cu bucăți folosește str_split.

Parametri

Parametru Descriere
$string Textul împărțit.
$length Opțional. Lungimea fiecărei bucăți. Implicit 76.
$separator Opțional. Textul pus după fiecare bucată. Implicit "\r\n".

Ce returnează

Textul cu separatoarele adăugate.

Exemple

Exemplul 1: Grupuri de câte 4 caractere

Separatorul apare și la final, de aceea este eliminat cu rtrim.

<?php
$iban = "RO49AAAA1B31007593840000";

echo chunk_split($iban, 4, " ") . "|\n";
echo rtrim(chunk_split($iban, 4, " "));

Rezultat

RO49 AAAA 1B31 0075 9384 0000 |
RO49 AAAA 1B31 0075 9384 0000

Exemplul 2: Base64 pe rânduri, pentru email

<?php
$date = base64_encode(str_repeat("Salut de pe dexblog.ro! ", 4));

echo chunk_split($date, 40, "\n");

Rezultat

U2FsdXQgZGUgcGUgZGV4YmxvZy5ybyEgU2FsdXQg
ZGUgcGUgZGV4YmxvZy5ybyEgU2FsdXQgZGUgcGUg
ZGV4YmxvZy5ybyEgU2FsdXQgZGUgcGUgZGV4Ymxv
Zy5ybyEg

Greșeli frecvente

  • Uiți că separatorul apare și după ultima bucată și rămâi cu un spațiu sau o linie nouă în plus la final.

Comenzi înrudite

  • str_split: Împarte un text în bucăți de aceeași lungime și le pune într-un tablou.
  • wordwrap: Împarte un text lung pe mai multe rânduri, fără să rupă cuvintele.
  • implode: Unește elementele unui tablou într-un singur text, cu un separator între ele.