[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: [[:punct:]]
hi3
Здравствуйте!


на этот код preg_match("#[\s]*[[:punct:]]#i", $_GET['name']) пишет Compilation failed: POSIX named classes are supported only within a class at offset 5


Подскажите аналог классу знаков пунктуации [[:punct:]]

Спасибо!



Спустя 43 минуты, 58 секунд (29.08.2010 - 20:35) Romms написал(а):
[\.,;:-] - оно?

Спустя 19 минут, 24 секунды (29.08.2010 - 20:55) hi3 написал(а):
да, но желательно все существующие)

Спустя 6 минут, 40 секунд (29.08.2010 - 21:01) Romms написал(а):
[[:punct:]] - все знаки препинания
вы знаете другие кроме .,;:-? smile.gif

ЗЫ. Я не понимаю почему [\s]* разве не правильней (\s)*?

Спустя 3 минуты, 42 секунды (29.08.2010 - 21:05) hi3 написал(а):
Я не понимаю почему [\s]* разве не правильней (\s)*?

Если использовать скобки - то получиться карман., а он иногда при большом количестве карманов затрудняет поиск нужного)

да, еще один: _ Хотя это спорно))

Спустя 2 часа, 28 минут, 41 секунда (29.08.2010 - 23:34) hi3 написал(а):
подскажите, а как мне вырезать обратный слешь? То что ниже не работает

preg_replace('#(\\)*#i', '', $search);



В общем задача следующая. Делаю поиск, и если в тексте встречается обратный слеш, то запрос валится. Не помогает и $search = mysql_escape_string($search); А в тексте, я думаю, могут встречаться и обратные слеши(текст ищется в базе mysql), но не как не insert...

а еще с этими друзьями надо разобраться и какие еще проверки делать?

$search = preg_replace('#(UPDATE)*#i', '', $search);
$search = preg_replace('#(DELETE)*#i', '', $search);

Спустя 14 часов, 30 минут, 31 секунда (30.08.2010 - 14:04) Nord написал(а):
Цитата
Не помогает и $search = mysql_escape_string($search);

У вас какая-то специфичная задача? Обычно для экранирования значения хватает mysql_real_escape_string()

preg_replace('#(\\)*#i', '', $search);
$search = preg_replace('#(UPDATE)*#i', '', $search);
$search = preg_replace('#(DELETE)*#i', '', $search);

Откройте для себя функцию str_replace(), она работает быстрее

Спустя 2 часа, 21 минута, 17 секунд (30.08.2010 - 16:26) инь написал(а):
ды поиск по сайту обычный. Что интересно, на сервере включены магические кавычки, черт бы их побрал, пропускают они обратный слешь.

В запросе я использую RLIKE="а здесь знак + и \ вызывают ошибку"

И как я понял mysql_real_escape_string тоже не пашет. Хотя не ручаюсь, надо перепроверить. Сначала stripslashes, затем mysql_real_escape_string

Спустя 1 час, 55 минут (30.08.2010 - 18:21) Nord написал(а):
Для обычного LIKE вот хорошая ссылка:
Особенности работы с оператором LIKE

А RLIKE, как полагаю, требует regexp-выражение? Можно попробывать экраннировать спец. символы с помощью preg_quote()
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.