Я бы хотел удалить первое слово из строки с помощью PHP. Пытался выполнить поиск, но не смог найти ответ, который мог бы понять.
например: «Белая майка», поэтому она становится «Майка»
Спасибо
Если у Вас, как гарантируют, не будет пространства в Вашей строке, старайтесь выбрать технику, которая не перестанет работать на таких случаях.
При использовании explode()
убедиться ограничить взрывы для лучшей эффективности.
$strings = ["White", "White Tank", "White Tank Top"];
foreach ($strings as $string) {
echo "\n{$string}:";
echo "\n-\t" , substr($string, 1 + (strpos($string, ' ') ?: -1));
$explodeOnce = explode(' ', $string, 2);
echo "\n-\t" , end($explodeOnce);
echo "\n-\t" , substr(strstr($string, " "), 1);
echo "\n-\t" , ltrim(strstr($string, " "));
echo "\n-\t" , preg_replace('~^\S+\s~', '', $string);
}
Вывод:
White:
- White
- White
- // strstr() returned false
- // strstr() returned false
- White
White Tank:
- Tank
- Tank
- Tank
- Tank
- Tank
White Tank Top:
- Tank Top
- Tank Top
- Tank Top
- Tank Top
- Tank Top
Мое предпочтение является regex техникой, потому что это стабильно во всех случаях выше и является единственным вызовом функции. Обратите внимание, что нет никакой потребности в группе получения, потому что соответствие fullstring заменяется. ^
соответствия запуск строки, \S+
соответствия один или несколько непробельных символов и \s
соответствия один пробельный символ.