1

我在 stackoverflow 上找到了这个从句子中获取第一个单词的解决方案。

$myvalue = 'Test me more';
$arr = explode(' ',trim($myvalue));
echo $arr[0]; // will print Test

但是,这种情况下使用 ' '(空格)作为分隔符。如果您不知道分隔符是什么,有谁知道如何从字符串中获取第一个单词?它可以是''(空格)、'.' (句号),“。” (或逗号)。基本上,您如何从字符串中提取任何字母直到没有字母的程度?

例如:

  • 'House, rest of sentence here' 将给出 'House'
  • '房子。' 也会给“房子”
  • 'House thing'也会给'House'

谢谢!

4

3 回答 3

4

有一个字符串函数 ( strtok ) 可用于根据某些分隔符将字符串拆分为较小的字符串 ( tokens )。就本线程而言,第一个单词(定义为第一个空格字符之前的任何内容)Test me more可以通过对空格字符上的字符串进行标记来获得。

<?php
$value = "Test me more";
echo strtok($value, " "); // Test
?>

有关更多详细信息和示例,请参阅strtok PHP 手册页

于 2014-02-05T05:46:37.887 回答
2

preg_split就是你要找的。

$str = "bla1 bla2,bla3";
$words = preg_split("/[\s,]+/", $str);

此代码段按空格、\t、逗号、\n 分隔 $str。

于 2012-05-17T12:20:00.120 回答
0

preg_match()函数与正则表达式一起使用:

if (preg_match('/^\w*/', 'Your text here', $matches) > 0) {
  echo $matches[0]; // $matches[0] will contain the first word of your sentence
} else {
  // no match found
}
于 2012-05-17T12:21:05.997 回答