Ответ 1
Используйте preg_split()
с соответствующим регулярным выражением.
Есть ли способ взорвать() с помощью массива разделителей?
Руководство по PHP:
array explode (string $delimiter, string $string [, int $limit])
Вместо использования string $delimiter
можно ли использовать array $delimiter
, не слишком сильно влияя на производительность?
Используйте preg_split()
с соответствующим регулярным выражением.
$str = 'Monsters are SUPER scary, bro!';
$del = array('a', 'b', 'c');
// In one fell swoop...
$arr = explode( $del[0], str_replace($del, $del[0], $str) );
function explode_by_array($delim, $input) {
$unidelim = $delim[0];
$step_01 = str_replace($delim, $unidelim, $input); //Extra step to create a uniform value
return explode($unidelim, $step_01);
}
Это улучшило код @65Fbef05. Мы используем первый разделитель, потому что "+delim+"
может использоваться в исходной строке.
Метод php explode не поддерживает множественные разделители, поэтому вы не можете передать ему массив. Кроме того, какую строку вы разбираете с несколькими разделителями? вам лучше всего зациклиться на ваших разделителях и повторно взорвать некоторые из взорванных строк.