Помогите плиз с регуляркой

1. Дмитрий (23.06.2010 / 14:16)
надо сделать на разрешение только рус, англ символов, 0-9, и знаков !?.,*)(-=+:;

2. ramzes (23.06.2010 / 14:29)
if(preg_match('|^[a-zа-я\d\.\-\(\)\*\!\?,=+]+$|i', $str)){

3. Дмитрий (23.06.2010 / 14:31)
не робит (

4. Дмитрий (23.06.2010 / 14:33)
тобишь мне это с расчетом чтобы не выводились спецсимволы типа Ćs¥£¤

5. Azzido (23.06.2010 / 14:35)
preg_match('![^a-zA-Zа-яА-ЯёЁ0-9@\*\?\(\)\[\]\!\.\-,~_=:;]+!u',$text)

6. Дмитрий (23.06.2010 / 14:38)
Azzido ты как всегда меня выручаешь smile от души

7. Дмитрий (23.06.2010 / 14:40)
ЗЫ вот только .,():; не пускает D

8. Дмитрий (23.06.2010 / 14:44)
наверно так надо if (preg_match('![^a-zA-Zа-яА-ЯёЁ0-9@\*\?\[\]\!\.\-,~_=\:\;\]+!u',$msg)) {

9. Azzido (23.06.2010 / 14:45)
должно пропускать ну попробуй вот так, еще некоторые экранирую preg_match('![^a-zA-Zа-яА-ЯёЁ0-9@\*\?\(\)\[\]\!\.\-\,~_=\:\;]+!u',$text) их не тестил

10. Дмитрий (23.06.2010 / 14:47)
а не, работает все )) сорри за оффтоп, темко close #

11. Дмитрий (23.06.2010 / 15:09)
Пробел не пускает ( просто поставить пробел ?

12. Олег (23.06.2010 / 15:13)
А если просто попробовать проверить, если не знаешь?)))

13. smartvbxos7 (24.06.2010 / 08:11)
Проверка
<?php
$text = 'a-zA-Zа-яА-ЯëË0-9!?.()-*+,=:; гЫ';
if(preg_match("/^[a-zа-яë\d\!\?\.\(\)\-\*\+,=:; ]+$/iu",$text)){
echo 'Good text';
} else {
echo 'kaka';
}
// result good
?>
Вырезаем только нужные символы
<?php
$text = 'a-zA-Zа-яА-ЯëË0-9!?.()-*+,=:; гЫ &%';
echo preg_replace("/[^a-zа-яë\d\!\?\.\(\)\-\*\+,=:; ]/iu","",$text);
// Вырежит все ктоме &%
?>


URL: https://visavi.net/topics/10812