Как я могу разбить строку при первом появлении чего-либо?

Я знаю, что "взорваться" разбивает строку и превращает ее в массив для каждого случая. Но как мне разбить первое вхождение и сохранить все после первого вхождения?

Примеры:

$split = explode('-', 'orange-yellow-red');
echo $split[1]; // output: "yellow"

^ Я хотел бы это вывести:желто-красный

$split = explode('-', 'chocolate-vanilla-blueberry-red');
echo $split[1]; // output: "vanilla"

^ Я хотел бы это вывести:ванильно-черничный-красный

Ответы на вопрос(5)

explode:

$limit

Если предел установлен и положителен, возвращаемый массив будет содержать максимум элементов предела с последним элементом, содержащим остаток строки.

Если параметр limit отрицателен, возвращаются все компоненты, кроме последнего -limit.

Если параметр limit равен нулю, то это рассматривается как 1.

$a=explode('-','chocolate-vanilla-blueberry-red', 2);
echo $a[1]; // outputs vanilla-blueberry-red

Решение без переменной:

strtok('orange-yellow-red', '-');
echo strtok(null);
$split = explode('-', 'chocolate-vanilla-blueberry-red');
unset($split[0]);
echo implode('-', $split); # vanilla-blueberry-red

регулярное выражение возможно?

[^-]+-
 tdammers28 дек. 2011 г., 10:53
регулярное выражение намного дороже, чем простойexplode('sep', 'foobar', 2);
Решение Вопроса

Вы можете передатьlimit в качестве третьего параметраexplode это сделает работу.

$split = explode('-', 'orange-yellow-red',2);
echo $split[1]; //output yellow-red

Ваш ответ на вопрос