2011-08-10 39 views
0

如何区分重叠偏移量的字符串中的单词。 例如我有一个字符串:检查重叠偏移量在php中

$s = "The famous team violin will showcase there violin talent to the fans who love violin."; 

,然后我有一个关键字提取与偏移检索这些词:对所得到的字上面的结果

team violin - 11 
violin - 16 

基地“小提琴”重叠,“团队violion”

正确的结果应该是:

team violin - 11 
violin - 43 

这是用于检索每个关键字

foreach($keywordArr as $keyword) 
{ 
preg_match('/\b'.$keyword.'\b/',$s,$match,PREG_OFFSET_CAPTURE) 
$keywordwithOffset = $keyword."\t".$match[0][1]; 
} 

人有一块PHP脚本,可以解决这样的事情的偏移的代码?

+1

显示您用于关键字提取的代码 –

+0

这些偏移量没有意义。 “小提琴队”从你的短语的第7个字开始,没有第16个字。角色11和16也不是你的短语......这些数字代表什么。 –

+0

你的先例规则是什么?即。你怎么知道那支小提琴比小提琴更重要?因为它更长? –

回答

0

我建议你首先用更大的关键字提取字符串,并检索偏移量,然后用特殊字符(#,$等)替换大关键字尽可能多的字符串的长度是不会改变,所以当你搜索较小的关键字的偏移量时,它不会与较大的关键字重叠。