За последние 24 часа нас посетили 21498 программистов и 1698 роботов. Сейчас ищут 1939 программистов ...

Помогите разобраться...

Тема в разделе "Регулярные выражения", создана пользователем Алексей, 5 авг 2009.

  1. Алексей

    Алексей Активный пользователь

    С нами с:
    24 апр 2009
    Сообщения:
    27
    Симпатии:
    0
    Добрый день.

    Помогите разобраться в следующем выражении:
    $good = preg_replace("#[^-a-zа-я\s]#i", " ", $search);

    Что такое #, \s и i?

    Спасибо.
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    \s — это пробельные символы (пробел, табуляция, ..)
    i — игнорирование регистра.
    Регулярку можно заменить следующей:

    PHP:
    1. <?php
    2.  
    3. setlocale(LC_ALL, "RU_ru");
    4.  
    5. $good = preg_replace('/[^-\w\s]/i, ' ', $search);
    6.  
    7. ?>
     
  3. Алексей

    Алексей Активный пользователь

    С нами с:
    24 апр 2009
    Сообщения:
    27
    Симпатии:
    0
    Спасибо. А что такое #?
     
  4. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Ограничитель.