Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка отсутствия слова 
V
    Опции темы
DCoder
Дата 16.12.2010, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 1.3.2006
Где: Самара

Репутация: нет
Всего: нет



Доброго времени суток!

У меня есть строка, содержащая путь:
/section1/section2/section3/

Как должен выглядеть PCRE паттерн для проверки того, что section2 != blog, например?
PM MAIL   Вверх
patap
Дата 16.12.2010, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 5
Всего: 40



Код

  $section = 'blog';
  $path = '/section1/section2/section3/';
  
  if (preg_match('#^/.+?/' . $section . '/.+?/$#i', $path) == 0) {
    $res = 'no matches';
  } else {
    $res = 'got matches';
  }
  
  echo $res;



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
DCoder
Дата 16.12.2010, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 1.3.2006
Где: Самара

Репутация: нет
Всего: нет



Хорошо, уточню. 

Мне нужно передать шаблон пути для системы ЧПУ CMS системы, поэтому я не могу проводить дополнительные действия с результатом preg_match. 
Иными словами требуется такой шаблон, на который preg_match вернёт именно true
PM MAIL   Вверх
patap
Дата 17.12.2010, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 5
Всего: 40



что-то не уловлю сути...

в пути нужно именно вторую секцию проверять на неравность? если да, то нужно проверять все время на то, что не равна ли она какой-то постоянной подстроке, в данном случае - это "blog". Или же там может быть какой-то набор из подстрок, которым не должена соответствовать секция 2?


незнаю то ли это, должно по идее работать корректно, если передается строка, структура которой соответствует той, котрую привел ты (т.е. имеено такой форме "/section1/section2/section3/")
вот вариант если нужно проверять только одну подстроку "blog"
Код

^/.+?/(?!blog/)(.+?)/.+?/$

тут если нужно учесть несколько подстрок, перечисли их через |
Код

^/.+?/(?!(blog|blog2)/)(.+?)/.+?/$


Это сообщение отредактировал(а) patap - 17.12.2010, 13:07


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
DCoder
Дата 17.12.2010, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 1.3.2006
Где: Самара

Репутация: нет
Всего: нет



Да! Именно оно! Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.1079 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.