|
|
|
| Добрый день, передаю форму на обработку:
function feedback_form() {
$.get('feedback_form.php', $('#feedback_form_2').serialize(),function(data){alert(data);})};
|
Принимаю в php:
if (preg_match("/^[а-я]+$/i", $_GET['name'])) { echo "ok"; } else { echo "Некорректное имя: ".$_GET['name']; }
|
и получаю проблемы с кириллицей/ Например ввод поле name 'алек' выдает результат 'ok' а ввод 'александр' выдает 'Некорректное имя...'
Как быть?
P.S.: все написано и сделано в UTF-8 как положено | |
|
|
|
|
|
|
|
для: kireyev
(30.08.2012 в 14:49)
| | Ну, я полагаю, что можно в приемнике сперва обработать $_GET:
<?php
parse_str($_GET, $output);
if (preg_match("/^[а-я]+$/ui", $output['name'])) { echo "ok"; } else { echo "Некорректное имя: ".$output['name']; }
?>
|
Ибо http://php.su/functions/?parse-str | |
|
|
|
|
|
|
|
для: Deed
(30.08.2012 в 22:44)
| | Ваш вариант выдает ошибку:
parse_str() expects parameter 1 to be string, array given
|
| |
|
|
|
|
|
|
|
для: kireyev
(31.08.2012 в 09:14)
| | Вы в своем варианте не указали модификатор для utf - u. И зачем parse_str(), если вы знаете какой ключ проверять. | |
|
|
|
|
|
|
|
для: Deed
(30.08.2012 в 22:44)
| | Оказывается проблема была не в обработке $_GET, эта переменная уже прилетала в обработчик как массив. все дело было в регулярном выражении, надо было добавить /u:
Всем спасибо! | |
|
|
|