我正在使用preg_replace
函数删除停用词列表。目前,我有一个包含一个停用词的数组。作为preg_replace
的参数,我将其用作第一个参数(即preg_replace(^$stopwordlist$, '',$string)
正如您所看到的,我也在使用^$
,因为我需要准确匹配单词。但是我是收到以下错误
syntax error, unexpected '^', expecting ')' in
由于
答案 0 :(得分:1)
如果$stopwordlist
是一个数组,您可能需要先implode()
。
至于语法错误,您需要将^
和$
放在引号中,您还在正则表达式中缺少分隔符。
将您的代码更改为以下内容:
// Implode with a |, which is basically an 'or' statement is regex
$pattern = '/^' . implode('|', $stopwordlist) . '$/';
// Replace them
$replaced = preg_replace($pattern, '', $string);
如果您需要一个地方来测试您的正则表达式,请尝试gskinner.com's RegExr。
答案 1 :(得分:0)
如果您想匹配确切的字词,则REG EXP和preg_replace
不是您需要的。
查看str_replace
或strtr
文档,找出您需要的文档。
答案 2 :(得分:0)
您可以使用
$string=str_replace($stopwordlist, "", $string);