Есть ли способ выделить первое слово / комбинацию символов в строке, разделенных пробелами? - PullRequest
2 голосов
/ 12 марта 2011

Например, я пытаюсь выбрать первое слово в этой строке:

"chocolate muffin"

Итак, я хочу "chocolate", но не " " (пробел) и не "muffin" текст.

Я полагаю, что мог бы сделать $separate = explode(" ",$string) и просто взять $separate[0], но мне было интересно, есть ли более эффективный способ сделать это?

Редактировать: Это в PHP.

Ответы [ 4 ]

3 голосов
/ 12 марта 2011

Это более эффективно, хотя, на мой взгляд, немного менее читабельно:

$mystring = substr($mystring, 0, strpos($mystring, " "));

Это связано с тем, что при strpos цикл поиска останавливается до первого появления символа, а затем возвращается заданныйдлина строки.

При разнесении цикл поиска продолжается до конца строки.

2 голосов
/ 12 марта 2011
$firstword = strtok($string," ");
2 голосов
/ 12 марта 2011

также можно написать небольшое изменение ...

list($res) = explode(' ',$string);
0 голосов
/ 12 марта 2011
$first = strstr($string, ' ', true);

Обратите внимание, что это будет работать только> PHP 5.3.

PHP strstr ()

...