我在stackoverflow上找到了这个解决方案,用于从句子中获取第一个单词。
$myvalue = 'Test me more';
$arr = explode(' ',trim($myvalue));
echo $arr[0]; // will print Test
但是,这种情况需要''(空格)作为分隔符。如果您不知道分隔符是什么,有谁知道如何从字符串中获取第一个单词?它可以是''(空格),'。' (句号),'。' (或逗号)。基本上,你如何从字符串中取出任何字母到没有字母的地方?
E.g:
谢谢!
答案 0 :(得分:2)
preg_split
正是您要找的。
$str = "bla1 bla2,bla3";
$words = preg_split("/[\s,]+/", $str);
此片段按空格分隔$ str,\ t,逗号,\ n。
答案 1 :(得分:1)
有一个字符串函数(strtok)可用于根据某些分隔符将字符串拆分为较小的字符串( tokens )。出于此线程的目的,Test me more
的第一个单词(定义为第一个空格字符之前的任何单词)可以通过标记空格字符上的字符串来获得。
<?php
$value = "Test me more";
echo strtok($value, " "); // Test
?>
有关详细信息和示例,请参阅strtok PHP manual page。
答案 2 :(得分: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
}