2011-08-10 43 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

我建議你首先用更大的關鍵字提取字符串,並檢索偏移量,然後用特殊字符(#,$等)替換大關鍵字儘可能多的字符串的長度是不會改變,所以當你搜索較小的關鍵字的偏移量時,它不會與較大的關鍵字重疊。