У меня есть длинный список ключевых слов, представленных ниже с переменной $skills
который содержит Shop Supervisor
но нет Machine Shop Supervisor
:
$text = "Machine Shop Supervisor";
preg_match_all("~\b$skills\b~i", $text, $matchWords);
foreach ($matchWords[0] as $matchWord) {
echo "<b>MatchWord:</b> " . $matchWord. "<br>";
}
Результаты: Руководитель магазина
Как я могу получить точное соответствие $text
? так что в этом случае не должно быть никаких результатов, как Machine Shop Supervisor
нет в списке ключевых слов.
Благодарю.
Вы должны использовать анкеры, не границы слова, так что это полное совпадение строк.
preg_match_all("~^$skills$~i", $text, $matchWords);
Пробел не является символом слова, поэтому он соответствует.
Других решений пока нет …