Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

22.11.2007, 09:39
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
Помогите с preg_replace
Надо фильтровать входящие параметры используя preg_replace(). Помогите составить.
1) Запрет на !"№;%:?*()_+'`"|-+{}[]<>/\%
2) Разрешить только ввод цифр и нечего другова
3) Только букв нижнего регистра.
|
|
|

22.11.2007, 09:46
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
Достаточно зайти на пхп.нет
http://ru2.php.net/preg_replace
|
|
|

22.11.2007, 09:47
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
$string = strtolower($string); // Переходим в нижний регистр
$string = str_replace("<","*",$string);
$string = str_replace("!","*",$string);
и т.д.
Тут знаки "<" "!" на выходе бeдут "*"...
Можно через массив
ЗЫ я дурак
|
|
|

22.11.2007, 09:49
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
Надо написать условие,
if
фильтрация
else
недопустимые символы
По параметрам которые выше привел, спасибо за ссылки но мне нужен код.
|
|
|

22.11.2007, 09:53
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
1)
2)$content = preg_replace("#(\d)#i", "", $content);
3)$content = strtolower(preg_replace("#(\w)#i", "", $content));
|
|
|

22.11.2007, 10:05
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
PHP код:
<?php
$string = "asdasdasdas!@!#!@ESAD)sad";
$string = strtolower($string);
$s = array("!",")");
foreach ($s as $i => $value) {
$pos = strpos($string,$s[$i]);
if ($pos == true) {
print "Wrong '$s[$i]' symbol <br>";
}
}
?>
ХЗ кроче
|
|
|

22.11.2007, 10:37
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
|
|
|

22.11.2007, 10:50
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
2)$content = preg_replace("#(\d)#i", "", $content);
А цифры тоже бывают нижнего и верхнего регистров?
|
|
|

22.11.2007, 11:02
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
KSURi, ты не одепт если не видишь ниже отличий
2 , 2
|
|
|

22.11.2007, 11:48
|
|
Познающий
Регистрация: 06.12.2006
Сообщений: 57
Провел на форуме: 418176
Репутация:
31
|
|
1
PHP код:
<?
$bag='';
$text='бля бля()+';
$s='!№;:?*()_`"|-+{}[]<>/\%'."'";
for($i=0;$i<strlen($s);$i++) {
$sub=substr($s,$i,1);
$subr='\\'.$sub;
if(ereg($subr,$text)) {
$bag.=$sub;
}
}
if(!empty($bag)) {
echo 'найдено '.strlen($bag).' - '.$bag;
}
else echo 'нет запретных символов';
?>
2
PHP код:
<?
$text=3453434;
if(preg_match("/^[0-9]+$/",$text)) {
echo 'одни цифры %)';
}
else echo 'ошибка, не все цфры!)))))';
?>
3
PHP код:
<?
$text='ыыыыыы';
if(preg_match("/^[a-zа-я]+$/",$text)) {
echo 'одни буквы';
}
else echo 'неть';
?>
Последний раз редактировалось vizard-06; 22.11.2007 в 12:31..
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|