在php中获取句子中的第一个'content word'

在php中获取句子中的第一个'content word',php,Php,假设我有一句话: $str="Some remarks on singular solutions of a nonlinear equation"; 如何获取$str的第一个内容字?这里我称一个词为contentword,如果它是一个名词,那么它们是: 备注,单数,解,方程 其余部分作为虚词 更新 假设我们有虚词列表 $fword=array("some","on","of", "a");

假设我有一句话:

$str="Some remarks on singular solutions of a nonlinear equation";
如何获取
$str
的第一个内容字?这里我称一个词为contentword,如果它是一个名词,那么它们是:

备注
单数
方程

其余部分作为虚词

更新 假设我们有虚词列表

$fword=array("some","on","of", "a");
使用PHP函数并按间隔拆分字符串

分解-按字符串拆分字符串

返回字符串数组,每个字符串都是字符串的子字符串,通过在字符串分隔符形成的边界上拆分字符串而形成


如果你想知道这个词是否是名词,那么检查
WordNet项目中
$arr
或一些类似的英语词类数据库中的每个词。

但我需要
备注
事实上,因为
一些
被认为是
虚词
你所说的虚词和实词是什么意思?如果你有所有的单词,你能把它们区分开来吗?因为
explode
将为你提供句子中的所有单词。我改进了我的答案。希望有帮助!你有包含这些单词的来源吗?(数组、数据库、外部文件等)或者您正在询问如何确定一个单词是“内容”还是“功能”单词?最后,我用:
\b(?!on | of | a | Some | one | two)(\w+)\b
解决它,请参见此处:
$str = "Some remarks on singular solutions of a nonlinear equation";
$arr = explode(' ', trim($str));
// And then for each word in $arr check if it passes your criteria