За последние 24 часа нас посетили 22357 программистов и 2026 роботов. Сейчас ищут 944 программиста ...

Регулярные выражения и UTF-8

Тема в разделе "Прочие вопросы по PHP", создана пользователем lanc777, 26 дек 2009.

  1. lanc777

    lanc777 Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    59
    Симпатии:
    0
    Код (Text):
    1. function type_protection($name,$value,$type,$minlenth,$maxlenth){
    2. $error=NULL;
    3. $types['only_integer']="|^[0-9]{0,}$|i";
    4. $types['only_decimal']="|^[0-9\.]{0,}$|i";
    5. $types['only_string']="|^[a-zа-я\s]{0,}$|i";
    6. $types['only_string_int']="|^[a-zа-я0-9\s]{0,}$|i";
    7. $types['only_string_en']="|^[a-z\s]{0,}$|i";
    8. $types['only_string_en_int']="|^[a-z0-9\s]{0,}$|i";
    9. $types['only_all']="|^[^';\"<>]{0,}$|i";
    10. $types['only_email']="|^[0-9a-z_]+@[0-9a-z_\.]+\.[a-z]{2,4}$|i";
    11. $errors['only_integer']="должно содержать только цифры.";
    12. $errors['only_decimal']="должно содержать только цифры разделенные точкой.";
    13. $errors['only_string']="должно содержать только буквы.";
    14. $errors['only_string_int']="должно содержать только буквы и цифры.";
    15. $errors['only_string_en']="должно содержать только латинские буквы.";
    16. $errors['only_string_en_int']="должно содержать только латинские буквы и цифры.";
    17. $errors['only_all']="содержит запрещенные символы [' ; \" < >].";
    18. $errors['only_email']="не является почтовым адрессом.";
    19.  
    20.  
    21. if (strlen($value)>$maxlenth or strlen($value)<$minlenth) {
    22.     $error='<br />Значение "'.$name.'" должно быть в интервале от '.$minlenth.' до '.$maxlenth.' символов. '.$value;
    23. }
    24.  
    25. if (!preg_match($types[$type],$value )) {
    26.     $error.='<br />Значение "'.$name.'" '.$errors[$type].' '.$value;
    27. }
    28.  
    29.     if ($error==NULL) {
    30.     return $value;
    31.     }
    32.     else{
    33.     superdie($error);
    34.     }
    35. }
    Подскажите плс возникла необходимость перевести сайт в UTF-8 поменял настройки апача для работы с utf-8 после этого функция preg_match на русский язык реагирует отрицательно =( при этом значение на выходе отлично отображается на русском языке
     
  2. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    $types['only_integer']="|^[0-9]{0,}$|iu";
     
  3. lanc777

    lanc777 Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    59
    Симпатии:
    0
  4. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    Вы видимо про первый пост...