как удалить первое слово из строки php

Я бы хотел удалить первое слово из строки с помощью PHP. Пытался выполнить поиск, но не смог найти ответ, который мог бы понять.

например: «Белая майка», поэтому она становится «Майка»

Спасибо

16
задан Monkeyalan 25 July 2011 в 22:26
поделиться

1 ответ

Если у Вас, как гарантируют, не будет пространства в Вашей строке, старайтесь выбрать технику, которая не перестанет работать на таких случаях.

При использовании 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 соответствия один пробельный символ.

-3
ответ дан 30 November 2019 в 15:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: