Концепция заключается в том, что у меня есть массив ключевых слов и статей. Мне интересно, какой был бы лучший способ узнать, присутствует ли какое-либо из этих ключевых слов в наборе статей, учитывая производительность и скорость.PHP - поиск набора ключевых слов в статьях
В принципе, ключевые слова состоят из 3 или более слов, но не превышены в 10 словах. Будет выглядеть, если ключевые слова существуют в статьях, тогда он вернет только ключевые слова, найденные в статье.
Если предположить, что у нас есть статья:
$articles = "Maybe it’s less true than it used to be that people are made of
place--that the same elements that form coal and clay and bogs and ice form
faces, voices and characters. I wrote my first collection of short stories,
The Bostons, in homage to this book, hoping, as did Joyce’s young Stephen
Dedalus, to encounter for the millionth time the reality of experience and to
forge in the smithy of my soul the uncreated conscience of some island-dwellers
I knew."
Ключевые слова:
$keywords = "less true than, people are made, smithy of my soul, uncreated
conscience, this is a test string"
из положить мус быть:
"less true than, people are made, smithy of my soul, uncreated conscience"
Я уже программировать его с помощью
$articles = mb_split(' +', $articles);
foreach ($articles as $key => $word)
$articles [$key] = trim($word);
//Search for keywords
$keywords = str_replace(' ', '', $keywords);
$keywords = mb_split('[ ,]+', mb_strtolower($keywords, 'utf-8'));
$result = implode(',', array_intersect($keywords, $articles);
, но он работает только за одно ключевое слово. Я не знаю, как это сделать по нескольким ключевым словам.
Значит, ваши ключевые слова могут состоять из нескольких слов? Например, одно «ключевое слово» в вашем примере «менее верно, чем», правильно? – Nico
Вы слышали о регулярном выражении и preg_match? –