Поиск по документу при помощи RegEX

Николай

PHP - CooL
Поиск по документу при помощи RegEX

Я надеюсь, что так тема звучит нормально? Или вы опять закроете тему?


Есть какой-то текст в переменной:
$S="страницы на Вашем сайте, просматриваемой в течение данной сессии (пока пользователь не покинет сайт) перемен...";

Мне надо знать есть ли в этом тексте слово "нет"(строго это слово!).
Ну я и проверяю:

if(ereg("нет",$S)){
print "есть";
}
else{
print "нет";
}


Но он пишет что есть, так как в слове: "покинет", встречается комбинатция этих символов...
Я уже и так пробовал:
if(ereg("[[:blank:]]нет[[:blank:]]",$S)){
И так
if(ereg("+нет+",$S)){
и даже вот такую чушь писал:
if(ereg("[[:blank:][:punct:]]нет[[:blank:][:punct:]]",$S)){

У меня ничего не выходит.
Подскажите пожалуйста как искать строго именно это слово?
 

Макс

Старожил PHPClub
примерно так
PHP:
if (preg_match("~\bнет\b~", $S)) {
  print "есть";
} else {
  print "нет";
}
 

Verk

Guest
PHP:
$S='int strpos ( string haystack, string needle [, int offset]) Returns the numeric position of the first occurrence of needle in the haystack string. ';

if(strpos ( $S, ' first ')){
print ' Yeah';
}
else{
print 'Nope ';
}
 

Crazy

Developer
Verk, читаем вопрос внимательно: там нигде не сказано, что искомое слово обязательно ограничено именно пробелами. Запятые ты как будешь отслеживать? :)
 

RomikChef

Guest
кстати, имеет смысл сделать проверку на начало строки/конец строки.
Только я не знаю, как
 

Crazy

Developer
Насколько я помню, regexp'овский маркер границы слова адекватно реагирует и на границы строки.
 

Crazy

Developer
Бурундук, текст, который привел Maxim Matyukhin, a) короче и b) работает. :) Говоря о маркерах я имел в виду именно его.
 
Сверху