PHP: il limite della funzione explode()

Questa funzione restituisce un array di stringhe a partire da un delimitatore comune. Ma ha un limite.

explode() funziona al meglio con i delimitatori letterali:


$pizza  = 'piece1 piece2 piece3 piece4 piece5 piece6';
$pieces = explode(' ', $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

Quando invece i delimitatori non sono letterali (ad esempio \n), questa funzione non si comporta nel modo previsto. Si consiglia pertanto di usare preg_split():


$keywords = preg_split('/[\s,]+/', 'hypertext language, programming');
echo $keywords[0]; // hypertext
echo $keywords[1]; // language