返回第一次出现在php中的字符之前的字符串部分

在PHP中,最简单的方法是在首次出现特定字符之前返回字符串的一部分?

例如,如果我有一个字符串...

“快速的棕色狐狸跳过了等等,等等。”

...并且我正在过滤空格字符(“”),该函数将返回“的”

谢谢!

Travis asked 2020-01-12T23:33:24Z
4个解决方案
94 votes

对于Google员工:strtok对此更好

echo strtok("The quick brown fox",  ' ');
user187291 answered 2020-01-12T23:34:06Z
71 votes

您可以这样做:

$string = 'The quick brown fox jumped over the lazy dog';
$substring = substr($string, 0, strpos($string, ' '));

但是我更喜欢这样:

list($firstWord) = explode(' ', $string);
Jacob Relkin answered 2020-01-12T23:33:46Z
23 votes

The查找字符串的第一个匹配项。 返回干草堆字符串的一部分,从第一个出现的针开始(包括第一次出现的针)到干草堆的结尾。

第三个参数:如果为TRUE,则strstr()返回第一次出现针(不包括针)之前的干草堆部分。

$haystack  = 'The quick brown foxed jumped over the etc etc.';
$needle    = ' ';
echo strstr($haystack, $needle, true);

打印The

Tilman Köster answered 2020-01-12T23:34:35Z
4 votes

这个怎么样:

$string = "The quick brown fox jumped over the etc etc.";

$splitter = " ";

$pieces = explode($splitter, $string);

echo $pieces[0];
tjk answered 2020-01-12T23:34:55Z
translate from https://stackoverflow.com:/questions/3766301/return-the-portion-of-a-string-before-the-first-occurrence-of-a-character-in-php