PHP фильтрация вводимых данных.
Подскажите есть ли функция для того чтобы отфильтровать строку (допустим пришедшую с формы). и оставить в ней только символы и цифры.
A-Z
a-z
0-9
А-Я
а-я
ВОт собственно и весь вопрос. заранее благодарен.
Цитата: zxspectrum128k
Доброе время суток.
Подскажите есть ли функция для того чтобы отфильтровать строку (допустим пришедшую с формы). и оставить в ней только символы и цифры.
A-Z
a-z
0-9
А-Я
а-я
ВОт собственно и весь вопрос. заранее благодарен.
Подскажите есть ли функция для того чтобы отфильтровать строку (допустим пришедшую с формы). и оставить в ней только символы и цифры.
A-Z
a-z
0-9
А-Я
а-я
ВОт собственно и весь вопрос. заранее благодарен.
Оффтоп: А зачем ZX-Spectrum'у фильтровать данные на PHP ??
Есть великая весчь - регулярные выражения: [phpdoc]ereg[/phpdoc].
Внизу есть комментарии, в них ты найдешь то что тебе нужно.
$string = preg_replace('/[^0-9a-zа-я]/i', '', $string);
лучше было бы наверно написать [^\d\w]
Ну ещё возможно следует предусмотреть фильтрацию точки - разделителя в вещественных числах
\w пропустит русские буквы :) и заменит пробелы
хм...не замечал за ней такой оплошности. может дело в том что я пользуюсь preg_* функциями
Цитата: kopex
хм...не замечал за ней такой оплошности. может дело в том что я пользуюсь preg_* функциями
упс... простите, простите :)
это у меня руки не оттуда выросли. всё у него нормально с русскими буквами. это я пару дней назад просто что-то намудрил.
но пробелы она все же заменит
не спроста же есть отдельно \s для всех пробельных символов
\w - A word (alphanumeric) character = [a-zA-Z_0-9]
Цитата:
"word" символ - это произвольная цифра, буква или символ подчеркивания, проще говоря, любой символ, который может являться частью 'слова' в Perl. Определение букв и цифр управляется символьными таблицами, с которыми PCRE был собран. И, как следствие, эти наборы могут отличаться в различных локализированных дистрибутивах. Например, в локали "fr" (Франция) некоторые символы с кодом выше 128 используются для записи ударных символов и, соответственно, соответствуют маске \w.
оф доки по PHP. да, я два раза подряд лажанулся ))
просто про перловые реги в книге по перлу и читал. а там ещё внимание обращено, что в класс \w русские буквы не входят. а про пробелы это я, видать, сам выдумал.
ещё раз прошу прощения за дезынформацию
Огромнейшее спасибо! Все работает!