Ben, bir metinde anahtar kelimeleri aramak için istiyorum ben 6000 anahtar kelimeler etrafında var ve ben PHP bunu yapmak için en iyi yolu nedir bilmek gerekir.
Php bir hashtable uygulamak için en iyi yolu nedir?
Soru biraz muğlak, bu yüzden chose basit bir senaryo / çözüm ;-)
$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);
baskılar
array(2) {
["PHP"]=>
int(157)
["call"]=>
int(7)
}
Anlamı: Anahtar kelime PHP
157 kez, call
7 kez bulundu ve supercalifragilistic
sıfır kez.
Neye ihtiyacınız çalışıyoruz ne ayrıntılı çekinmeyin ve ....
O zaman kelime dokanak test edebilir çünkü bir regex daha iyi olurdu. Ayrıca, muhtemelen daha hızlı.
Söyleniyor, burada bir şey var.
$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>";