Подтвердить что ты не робот

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

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

<сильные > Примеры:

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

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

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

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

4b9b3361

Ответ 1

Вы можете передать limit в качестве третьего параметра explode, который выполнит задание.

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

Ответ 2

Посмотрите на третий параметр explode:

$limit

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

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

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

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

Ответ 3

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

Ответ 4

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

strtok('orange-yellow-red', '-');
echo strtok(null);

Ответ 5

может быть регулярное выражение?

[^-]+-