Как заставить preg_match найти целое слово, а не отдельные дефисы? - PullRequest
1 голос
/ 25 апреля 2011
if (preg_match('#\b'.$rawword.'\b#i',$body)) {   

Этот код находит целые слова, но если они являются дефисом, таким как "ABLE-BODIED", он найдет ABLE и BODIED отдельно. Как можно изменить выражение, чтобы приспособить для тире?

1 Ответ

3 голосов
/ 25 апреля 2011

Вы можете использовать операторы lookbehind и lookahead.Этот оператор просматривает позади и после, но не соответствует им.

, например, используйте \b(?<!-)xyz(?!-)\b для нахождения целых слов xyz, у которых нет - до или после.

...