Просмотр полной версии : Помогите с preg_replace
guest3297
22.11.2007, 09:39
Надо фильтровать входящие параметры используя preg_replace(). Помогите составить.
1) Запрет на !"№;%:?*()_+'`"|-+{}[]<>/\%
2) Разрешить только ввод цифр и нечего другова
3) Только букв нижнего регистра.
Достаточно зайти на пхп.нет
http://ru2.php.net/preg_replace
$string = strtolower($string); // Переходим в нижний регистр
$string = str_replace("<","*",$string);
$string = str_replace("!","*",$string);
и т.д.
Тут знаки "<" "!" на выходе бeдут "*"...
Можно через массив
ЗЫ я дурак
guest3297
22.11.2007, 09:49
Надо написать условие,
if
фильтрация
else
недопустимые символы
По параметрам которые выше привел, спасибо за ссылки но мне нужен код.
1)
2)$content = preg_replace("#(\d)#i", "", $content);
3)$content = strtolower(preg_replace("#(\w)#i", "", $content));
<?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>";
}
}
?>
ХЗ кроче
GreenBear
22.11.2007, 10:37
Надо написать условие,
это preg_match тогда.
2)$content = preg_replace("#(\d)#i", "", $content);
А цифры тоже бывают нижнего и верхнего регистров?
KSURi, ты не одепт если не видишь ниже отличий
2 , 2
vizard-06
22.11.2007, 11:48
1
<?
$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
<?
$text=3453434;
if(preg_match("/^[0-9]+$/",$text)) {
echo 'одни цифры %)';
}
else echo 'ошибка, не все цфры!)))))';
?>
3
<?
$text='ыыыыыы';
if(preg_match("/^[a-zа-я]+$/",$text)) {
echo 'одни буквы';
}
else echo 'неть';
?>
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot