Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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在纯文本中查找复杂关键字(字符串)_Php - Fatal编程技术网

PHP在纯文本中查找复杂关键字(字符串)

PHP在纯文本中查找复杂关键字(字符串),php,Php,这可能是一个常见的问题,但我的情况是: 假定 我的关键词是“黑胡椒” 我的纯文本是一个包含“胡椒”这个词的食谱 我想强调一下胡椒粉这个词,而不仅仅是胡椒粉(尽管后者也可能是一个很好的成就) 在php中使用preg_match是否可能?我应该拆分关键字并创建多个比较吗 谢谢这个问题不太清楚。你想突出所有与黑胡椒有关的东西吗?对于胡椒粉来说,这很容易,因为它和胡椒粉放在一个词里。但是,如果文本中包含“黑鸟”,您会同时突出显示这个词吗 你要做的事情需要智慧,或者至少需要一个复杂的词汇方法,你不能用算法

这可能是一个常见的问题,但我的情况是:

假定 我的关键词是“黑胡椒” 我的纯文本是一个包含“胡椒”这个词的食谱

我想强调一下胡椒粉这个词,而不仅仅是胡椒粉(尽管后者也可能是一个很好的成就)

在php中使用preg_match是否可能?我应该拆分关键字并创建多个比较吗


谢谢

这个问题不太清楚。你想突出所有与黑胡椒有关的东西吗?对于胡椒粉来说,这很容易,因为它和胡椒粉放在一个词里。但是,如果文本中包含“黑鸟”,您会同时突出显示这个词吗

你要做的事情需要智慧,或者至少需要一个复杂的词汇方法,你不能用算法来解决它


如果你的关键词只是pepper,那就容易多了,但前提是pepper只有一个意思。在这种情况下,您可以突出显示所有含有胡椒粉的内容。但你会错过使用不止一个词的术语。在这里,您需要再次使用词汇方法。如果你的引擎知道黑胡椒和白胡椒是胡椒的子模式,那么它就可以工作。

这个问题还不清楚。你想突出所有与黑胡椒有关的东西吗?对于胡椒粉来说,这很容易,因为它和胡椒粉放在一个词里。但是,如果文本中包含“黑鸟”,您会同时突出显示这个词吗

你要做的事情需要智慧,或者至少需要一个复杂的词汇方法,你不能用算法来解决它


如果你的关键词只是pepper,那就容易多了,但前提是pepper只有一个意思。在这种情况下,您可以突出显示所有含有胡椒粉的内容。但你会错过使用不止一个词的术语。在这里,您需要再次使用词汇方法。如果您的引擎知道黑胡椒和白胡椒是胡椒的子模式,那么它就起作用了。

如果您拆分关键字并用插入符号将它们粘在一起,您可以将它们作为简单正则表达式的一部分使用:

$result = preg_replace("/(\w*(?:black|pepper)\w*)/i", "<b>$1</b>", $target_text);
$result=preg_replace(“/(\w*(?:黑色|胡椒粉)\w*)/i“,“$1”,$target_text);

编辑:从正则表达式标志中删除了g,记住它的功能错误

如果您拆分关键字并使用插入符号将其粘合在一起,则可以将其作为简单正则表达式的一部分使用:

$result = preg_replace("/(\w*(?:black|pepper)\w*)/i", "<b>$1</b>", $target_text);
$result=preg_replace(“/(\w*(?:黑色|胡椒粉)\w*)/i“,“$1”,$target_text);

编辑:从正则表达式标志中删除g,记住它的功能错误

让我们假设我应该有一个db,其中包含标记为成分的术语,以及标记为形容词的术语,因此当我匹配单词时,我只能选择那些是成分的术语并排除其余的术语……对吗?有点?事实上,我现在想得更好了,可能会让人困惑,因为如果我搜索辣椒,我也能找到辣椒或者其他与黑胡椒无关的东西…嗯,我想我的想法在这一点上很难实现…假设我应该有一个db,其中包含标记为成分的术语,以及标记为形容词的术语,所以,当我匹配这些词时,我只能选择那些成分的词,而不包括其余的词……对吗?有点?事实上,我现在想得更好了,可能会让人困惑,因为如果我搜索辣椒,我也能找到辣椒或者其他与黑胡椒无关的东西……嗯,我想我的想法在这一点上很难实现。。。