我想在文本中搜索关键字,我有大约6000个关键字,我需要知道在PHP中最好的方法是什么。
在php中实现哈希表的最佳方法是什么?
答案 0 :(得分:1)
正则表达式会更好,因为那时你可以测试单词边界。而且,它可能更快。
话虽如此,这里有一些东西。
$needles = array('cat','dog','fox','cow');
$haystack = 'I like cats and dogs, but my favorie animal is the cow';
$hash = array();
foreach($needles as $needle){
if (strstr($haystack,$needle)){
$hash[$needle] = 1;
}
}
echo "<pre>";
print_r(array_keys($hash));
echo "</pre>";
答案 1 :(得分:1)
这个问题有点模糊,所以我选择一个简单的场景/解决方案; - )
$keywords = array('PHP', 'introduction', 'call', 'supercalifragilistic');
$text = file_get_contents('http://www.php.net/archive/2009.php'); // including all the html markup, only an example
$words = array_count_values(str_word_count($text, 2));
$result = array_intersect_key($words, array_flip($keywords));
var_dump($result);
打印
array(2) {
["PHP"]=>
int(157)
["call"]=>
int(7)
}
这意味着:找到关键字PHP
157次,call
次7次,supercalifragilistic
次零次。
随意详细说明您正在尝试的内容以及您需要的内容....
答案 2 :(得分:0)
带关联键的简单数组怎么样? PHP的数组已经使用哈希表实现。