Maxime COLINConcepteur et développeur Web

Découper une chaine de caractère mais avec plusieurs séparateur en PHP

Publié le dans PHP

5e3d5a0670c5f ekxssmdwsaafcwq

La fonction explode est très connu en PHP. Elle permet de découper une chaine de caractère en fonction d'un séparateur.

<?php

explode('-', 'foo-bar-foobar'); // ['foo', 'bar', 'foobar']

La fonction preg_split est moins connu, elle permet de découper une chaine de caractère non plus en fonction d'un séparateur mais en fonction d'une regex. Il est possible de cibler plusieurs séparateurs avec cette regex.

preg_split permet donc l'équivalent d'un explode mais avec plusieurs séparateur.

<?php

// Explode but with severals delemiters
$array = preg_split('/[YOUR_DELEMITERS_HERE]/', $string);

// Example with ".", "-" and "@"
$array = preg_split('/[.\-@]/', 'foo.bar@example.com');

// Result
['foo', 'bar', 'example', 'domain', 'com']