Помогите плиз с регуляркой
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 ты как всегда меня выручаешь
от души
7.
Дмитрий (23.06.2010 / 14:40)
ЗЫ вот только .,():; не пускает
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