Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: проверка на содержание спецсимволов

Сообщения:  [1-6] 

 
 автор: cheops   (13.05.2005 в 12:37)   письмо автору
 
   для: antf   (12.05.2005 в 21:37)
 

1) Конечно, preg_match, префикс съелся :)))
2) В изначальном варианте было
<?
 
if(!preg_match("|^[\d\w]+$|i",$Str)) exit("Сообщение недопустимого формата!"); 
?>

поэтому и отрицание отсутствует.
3) Ограничители можно использовать любые, если в качестве ограничителя выступает какой-то символ, его следует экранировать, / достаточно часто встречается в запросах, поэтому чтобы не экранировать его и не усложнять запрос, я использую либо | (когде нет необходимости в его специальных возможностях внутри запроса), либо # - очень хорошо видно, где начинается запрос, а где заканчивается, а вообще можно использовать любой символ.

   
 
 автор: antf   (13.05.2005 в 01:59)   письмо автору
 
   для: посетитель   (12.05.2005 в 23:49)
 

<? if(preg_match("|[^\d\w_]+|i",$Str)) exit("Сообщение недопустимого формата!"); ?>

   
 
 автор: посетитель   (12.05.2005 в 23:49)
 
   для: cheops   (12.05.2005 в 21:07)
 

нужно разрешить символ нижнего подчёркивания.

   
 
 автор: antf   (12.05.2005 в 21:37)   письмо автору
 
   для: cheops   (12.05.2005 в 21:07)
 

1) Интересная функция match(), может быть, preg_match()?
2) Регулярное выражение: наверное, нужно добавить отрицание:
|[^\d\w]+|i

Итого:
<? if(preg_match("|[^\d\w]+|i",$Str)) exit("Сообщение недопустимого формата!"); ?>

3) Почему вы используете ограничитель |, а не / ?

   
 
 автор: cheops   (12.05.2005 в 21:07)   письмо автору
 
   для: посетитель   (12.05.2005 в 19:58)
 

Хм... может ещё проще разрешить только числа и буквы при помощи регулярных выражений? Или кавычки следует разрешить?
<?php
  
if(!match("|^[\d\w]+$|i",$text)) exit("Сообщение недопустимого формата!");
?>

   
 
 автор: посетитель   (12.05.2005 в 19:58)
 
 

подскажите как лучше сделать проверку на содержание в переменнаяой спецсимволов.
Допустим есть переменная
$text

в ней текст, нужно чтобы если в тексте есть символы !@#$%&*()+><:;=/\., то вывелось сообщение что мол недопустимое сообщение. а если таких символов необнаружено то всё ок.

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования