помогите с формированием title (регулярка)

Тема в разделе "PHP", создана пользователем Xansen, 23 ноя 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Xansen

    Xansen

    Регистр.:
    30 мар 2006
    Сообщения:
    447
    Симпатии:
    119
    Нужно чтобы для определенных страниц, генерируемых одним шаблоном, title был один для других другой.

    написал такое чудо:
    if ($_SERVER['REQUEST_URI'] == '/catalog.html') {$title = 'Каталог организаций города';}
    elseif ($_SERVER['REQUEST_URI'] == '/catalog^.{2,}$.html') {$title = 'Каталог заведений города';}

    во втором случае регулярка почему то не работает. Что я не так сделал? Задумка была чтобы для всех файлов вида catalog**.html заменялся title, где * - любой символ.

    Что делаю не так?
     
  2. bonzaza

    bonzaza Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    53
    Симпатии:
    9
    Регулярный выражения работают только в специальных функциях.
    Все они перечислены в разделе Обработка текста мануала по PHP.
    Вот некоторые из них, preg_grep, preg_match_all, preg_match, preg_replace.
    Попробуйте тот же код переписать с использованием функции preg_match(:(
    PHP:
    preg_match — Выполняет проверку на соответствие регулярному выражению
    Описание
    mixed preg_match 
    string $patternstring $subject [, array $&matches [, int $flags [, int $offset]]] )
    Ищет в заданном тексте subject совпадения с шаблоном pattern 
    В случае
    если дополнительный параметр matches указанон будет заполнен результатами поискаЭлемент $matches[0будет содержать часть строкисоответствующую вхождению всего шаблона$matches[1] - часть строкисоответствующую первой подмаскеи так далее.
     
    Xansen нравится это.
  3. B0nuse

    B0nuse Постоялец

    Регистр.:
    6 июн 2009
    Сообщения:
    105
    Симпатии:
    21
    Вроде так
    PHP:
    if ($_SERVER['REQUEST_URI'] == '/catalog.html') {
    $title 'Каталог организаций города';
    } elseif (
    preg_match("/^\/catalog[a-zA-Z0-9-_]{2,}\.html$/"$_SERVER['REQUEST_URI'])) {
    $title 'Каталог заведений города';
    }
     
    Xansen нравится это.
Статус темы:
Закрыта.