Xwab
Форумыnavigate_nextПрограммирование на PHP

Регулярки
Сообщения
Sandr

Mars, спасибо)


__________
посл.ред. 03 Фев 2011, 20:19; всего 1 раз 26 Ноя 2010, 0:05
Okula

Sandr, А лучше вот так:
$ctext = mb_strlen($text, "utf-8");
if(preg_match("/([^a-zа-я0-9\-\_]+(\s){1,})/i", trim($text)) !== 0 || $ctext < 3 || $ctext > 15) die("Error!!!");

+ ко всему этому ник от 3 до 15 символов.

27 Ноя 2010, 1:23
Fashion

Okula, неверная регулярка + не оптимальная последовательность применения операций в условии

27 Ноя 2010, 1:36
Okula

Fashion, Можно тогда так:
if(preg_match("/[^a-zа-я0-9\s\-\_]/i", trim($text)) !== 0 || preg_match("/(\s){2,}/", trim($text) !== 0) die("Error!");
Хотел просто всё в 1 запихнуть, но к ночи уже мозг не варит. эта ^^ работает.

27 Ноя 2010, 1:42
Fashion

Okula, 20 пост верный)

27 Ноя 2010, 1:51
Okula

Fashion, у меня тоже правильно))) Работает же))))

+ в 20 посте если будет множество пробелов то пропустит такой текст. Например я смогу спокойно зарегистрировать себе такой ник:
"a(пробел)(пробел)(пробел)(пробел)(пробел)(пробел)(пробел)(пробел)(пробел)(пробел)(пробел)(пробел)(пробел)(пробел)a"

27 Ноя 2010, 12:24
Fashion

Okula, они все равно не отобразятся в таком количестве

27 Ноя 2010, 14:18
Okula

Если потом отфильтровать на выходе текст то не отобразятся, да и к чему такое в базе хранить. Лучше уж вырезать всё ненужное чтоб не захламлять мусором.

27 Ноя 2010, 14:42
Mars

задачи обрезать текст не было, человек просил помощи в регулярке, \s пропустит все юникодные "хак"-пробелы

27 Ноя 2010, 14:54
cem2

Сразу скажу о регулировках начал читать только сегодня.. Проблема такая: Нужно из хтмл документа достать значение сессии.
Например в хтмл документе есть такое sait.ru/str.php?ses=wrwet4534efgdf
Нужно достать wrwet4534efgdf

28 Ноя 2010, 12:45
Ответить на тему