|
|
|
| Помогите составить регулярное выражение
Вырезать все
разрешить только буквы русские и английские без учета регистра (большие и маленькие),все цифры,знаки
! , " , ' , `,запятые, точки , _ , -, ( , ) , @ , ? , : , ;
|
Заранее спасибо за помощь. | |
|
|
|
|
|
|
|
для: serjinio
(03.08.2008 в 12:35)
| | Если именно вырезать, то так
<?php
$text="test";
$text = preg_replace("#[^а-яёa-z\d!\"'`,\._-\(\)@\?:;]#i","",$text);
print $text;
?>
|
Если сделать проверку в строке на допустимые символы, то
<?php
$text="test";
if(preg_match("#^[а-яёa-z\d!\"'`,\._-\(\)@\?:;]+$#i",$text)){
print "ok";
}else{
print "no";
}
?>
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(03.08.2008 в 22:27)
| | Вы бы попробовали свой пример...
Минус экранировать надо. Либо ставить первым. | |
|
|
|
|
|
|
|
для: Trianon
(03.08.2008 в 23:01)
| | Замечания приняты, ну кто же не ошибается. ;) | |
|
|
|
|
|
|
|
для: AcidTrash
(03.08.2008 в 23:33)
| | Спасибо,очень помогло.! | |
|
|
|
|
|
|
|
для: Trianon
(03.08.2008 в 23:01)
| | А скажите разве буквы в верхнем регистре будут учитываться если (см. выделенное):
#^[а-яёa-z\d!\"'`,\._-\(\)@\?:;]+$#i
|
И еще один вопрос: регулярное выражение #[a-Zа-Я]# справоцировало у меня ошибку при подстановке в качестве параметра в функции preg_replace() Почему? Ведь так можно писать... | |
|
|
|
|
|
|
|
для: Zend72
(07.08.2008 в 11:40)
| | А скажите разве буквы в верхнем регистре будут учитываться
За это отвечает модификатор i. | |
|
|
|
|
|
|
|
для: AcidTrash
(07.08.2008 в 15:11)
| | Спасибо. Понятно. На счет модификатора i я знал, но у меня регулярное выражение почемуто не работало пока не дописал [А-ЯЁ], видимо я гдето ошибся вот и не работало... Что касается диапазонов символов, теперь буду знать =) Кстати про то, что Ё не в ходит в диапазон символов случайно выяснил, когда в словосочетании "Моё меню" пропала буква ё =) | |
|
|
|
|
|
|
|
для: Zend72
(08.08.2008 в 10:06)
| | Наверное, локаль выставлена неправильная, вот и нет толку от "i" с кириллицей. | |
|
|
|
|
|
|
|
для: BinLaden
(08.08.2008 в 10:58)
| | Ясно спасибо =) | |
|
|
|
|
|
|
|
для: Zend72
(07.08.2008 в 11:40)
| | > #[a-Zа-Я]#
диапазон символов a-Z как и второй ,из вашего класса символов ,не существует.
существует A-z но в него входят так-же символы `_^
а в А-я не хватает двух букв , Ёё
значит [A-Za-zА-яЁё] | |
|
|
|