Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP preg_replace返回不同的值_Php_Regex_Preg Match - Fatal编程技术网

PHP preg_replace返回不同的值

PHP preg_replace返回不同的值,php,regex,preg-match,Php,Regex,Preg Match,我有两个声明 1) 我喜欢汽车。 2) 我穿像国王一样的衣服 在这两种说法中,like这个词的意思是不同的。所以我想写一个函数,如果我传递了第一条语句,它应该返回'a',我传递了第二条语句,它应该返回'b' function chkStatement($stmt) { //function body } chkStatement('I like an apple'); chkStatement('I like Mango'); chkStatement('I

我有两个声明

1) 我喜欢汽车。 2) 我穿像国王一样的衣服

在这两种说法中,like这个词的意思是不同的。所以我想写一个函数,如果我传递了第一条语句,它应该返回'a',我传递了第二条语句,它应该返回'b'

    function chkStatement($stmt) {
      //function body
    }
    chkStatement('I like an apple');
chkStatement('I like Mango');
chkStatement('I fly in air like a bird');

谢谢

preg\u replace
这样的简单PHP函数不允许您根据单词使用的上下文返回不同的值

您将希望了解自然语言处理的广阔领域。祝你好运

是正确的,将
like
识别为动词的唯一方法是with

但是,如果我们对此进行了足够的简化,您可以在单词
之前检查
I
you
we
、或
它们
。你不会检查它是否是一个动词,应该有很多例外。您可以使用以下内容:

function chkStatement($stmt) {
    if (preg_match('/\b(?:(I|You|We|They)\s+)?like\b/i', $stmt, $matches)) {
        if (isset($matches[1])) return "a";
        return "b";
    } else {
        return false;
    }
}

echo chkStatement('I like an apple');
echo chkStatement('I like Mango');
echo chkStatement('I fly in air like a bird');
echo chkStatement('Something else');

1) 你所说的第一句话是什么意思?什么分隔语句?像这样station=I Like car每次都会发送单独的字符串,那么chkStatement如何计算方法调用的发生?首先,这里不需要正则表达式。。。您可以查看字符串是否包含单词like或not。。。第二,您需要一个全局变量来计算方法被调用的次数……chkStatement(“我喜欢苹果”);这将重新运行a.chkStatement(“我喜欢芒果”);返回a。chkStatement(“我像鸟一样在空中飞翔”);返回b等,请详细说明。或者给我举个例子。1)就像鸟一样,我想飞2)我喜欢汽车;你买什么回来1)和买什么回来2)?对于两者,like的位置是相同的,但上下文不是。。。现在你如何检测上下文,因为你需要自然语言处理。。。