[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: добавить пробел в условие регулярного выражения
totje
как вот в эту гадость в условии:
preg_match('/^[a-zA-Z0-9'.chr(0x7F).'-'.chr(0xff).']{1,25}$/i',$string)

впихнуть допустимость определенного кол-ва пробелов, допустим, пяти?
пробел ведь вроде как \s, но это ведь также и табуляция/перенос строки, не возникнет ли соотв. проблем? тк последние две неоч нужны в этой строке.



Спустя 5 минут, 53 секунды (12.01.2011 - 13:09) linker написал(а):
\s - пробел
\t - табуляция
\n - перенос строки

Спустя 10 минут, 8 секунд (12.01.2011 - 13:19) totje написал(а):
спасибо, осталось теперь узнать ответ на основной вопрос)

Спустя 12 минут, 28 секунд (12.01.2011 - 13:31) hellmin написал(а):
\s{5} - пять пробельных символов
\s{2,5} - от двух до пяти пробельных символов

Спустя 8 минут, 44 секунды (12.01.2011 - 13:40) totje написал(а):
с этим я уже знаком, но как их вставить в условие?

preg_match('/^[a-zA-Z0-9'.chr(0x7F).'-'.chr(0xff).']{2,25}/\s{0,5}$/i',$string)

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

Спустя 16 минут, 9 секунд (12.01.2011 - 13:56) totje написал(а):

preg_match('/^[a-zA-Z0-9'.chr(0x7F).'-'.chr(0xff).'\s{0,5}]{2,25}$/i',$string)

тоже нет. пробелы допускаются, но как ограничить их кол-во??

Спустя 5 минут, 38 секунд (12.01.2011 - 14:02) hellmin написал(а):
Напиши строку-пример и что хочешь в ней найти.

Спустя 6 минут, 31 секунда (12.01.2011 - 14:08) totje написал(а):
да ничего, вот ведь условие изначальное в первом посте.
нужно, чтобы входящие данные ограничивались буквами латинского алфавита,кириллицы,цифр, от нуля до 5 пробелов и все это от 2 до 25 символов. просто в это дело нужно добавить эти самые пробелы..

Спустя 41 минута, 47 секунд (12.01.2011 - 14:50) DedMorozzz написал(а):
Сложно - не всегда хорошо. Разбивай на куски такие проверки. Сперва считай пробелы. Если их меньше 6 - тогда иди дальше, проверяй на кириллицу и прочее. Иначе - выводи ошибку.

Спустя 20 часов, 59 минут, 52 секунды (13.01.2011 - 11:50) totje написал(а):
что-то да, кстати, думал, есть возможность все в одну строку как-нибудь:)
вот, сел сейчас, набросал:

$lenght = strlen($string) + 1;
$fstring= '';
for ($i = 0, $count = 0; $i < $lenght; $i++)
{
if (preg_match('/^\s$/i',substr($string,$i,1))) {$count++;}
$fstring= $fstring.substr($string,$i,1); }
if ($count > 5) {$fstring='слишком много пробелов';}
exit($fstring);

сойдет? особенно строка с preg_match интересует..
Быстрый ответ:

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