Как насчет использования $ предельного параметра взорваться()?
Это вернет массив в обоих примерах, только с одним элементом в последнем случае.
Обратите внимание, что раскол() является устаревшим PHP 5.3: http://php.net/manual/en/function.split.php
$s1 = 'ABC-cde::abcdef';
$s2 = 'cde::abcdef';
$s3 = 'ABC-with-more-hyphens';
explode('-', $s1, 2);
// array(2) {
// [0]=>
// string(3) "ABC"
// [1]=>
// string(11) "cde::abcdef"
// }
explode('-', $s2, 2);
// array(1) {
// [0]=>
// string(11) "cde::abcdef"
// }
explode('-', $s3, 2);
// array(2) {
// [0]=>
// string(3) "ABC"
// [1]=>
// string(17) "with-more-hyphens"
// }
Этот код не будет работать в PHP 5.3. Устаревшая ошибка. Теперь это preg_split(); – pltvs
Источник? Это не говорит о том, что strpos устарел: http://php.net/manual/en/function.strpos.php – Select0r
Я думаю, что Александр ссылается на split() – Gordon