Php 用正则表达式删除句子?

Php 用正则表达式删除句子?,php,regex,Php,Regex,我正在用PHP构建一个语音识别+处理工具,我刚刚遇到了一个我不太确定如何解决的问题 基本上,如果一个用户说你好,我会让它从大约30个不同的问候语列表中随机回复一个问候语,然后以类似的语气结束其余的对话 现在,对于这个问题,在更复杂的句子中,用户可以说类似“玩猫头鹰城的萤火虫”,或“听猫头鹰城的萤火虫”,或“嗨,我可以听猫头鹰城的萤火虫”这样的话,这是可以理解的,这些都是播放音乐的请求 问题是,当一个句子有这么多的变量时,如何测试是否存在“听”、“玩”和“歌名”?基本上,我认为我必须去掉句子中所有

我正在用PHP构建一个语音识别+处理工具,我刚刚遇到了一个我不太确定如何解决的问题

基本上,如果一个用户说你好,我会让它从大约30个不同的问候语列表中随机回复一个问候语,然后以类似的语气结束其余的对话

现在,对于这个问题,在更复杂的句子中,用户可以说类似“玩猫头鹰城的萤火虫”,或“听猫头鹰城的萤火虫”,或“嗨,我可以听猫头鹰城的萤火虫”这样的话,这是可以理解的,这些都是播放音乐的请求

问题是,当一个句子有这么多的变量时,如何测试是否存在“听”、“玩”和“歌名”?基本上,我认为我必须去掉句子中所有无用的单词,只解释“听/玩萤火虫猫头鹰城”

我还计划使用“listen”触发一个“listen”函数,该函数运行YouTube搜索API,在新选项卡中打开它,或返回YouTube搜索url,具体取决于客户端

有人知道如何用PHP的preg_match删除这样的句子吗?还是其他方式?我已经试了几个小时了,哈哈


干杯,非常感谢所有的回答:)

语言解析非常复杂,对于regexp来说并不复杂:但首先,您需要能够识别“关键”词,如名词、动词、形容词等,并对其进行分析以确定其含义。像a这样的工具将有助于第一部分


这里有一个相当全面的词性分析器列表

,所以基本上你要问的是如何编写一个PHP脚本来通过一个测试?祝你好运。。。