|
|
|
|
|
для: Лена
(12.11.2009 в 12:56)
| | > Почему единица, если есть print 'конкретное значение'?
Потому что функция print() всегда возвращает единицу (см. мануал). А 'конкретное значение' выводит в поток вывода.
Вы бы лучше включили вывод ошибок на сервере, чтобы впредь могли точнее определить проблему сами. | |
|
|
|
|
|
|
|
для: neadekvat
(12.11.2009 в 12:50)
| | Вывод ошибок, может быть отключен. | |
|
|
|
|
|
|
|
для: neadekvat
(12.11.2009 в 13:02)
| | Расширение mbstring установила.
И первый пример у меня тоже получился.
Надо было сразу так сделать, а не извращаться с preg_replace
Всем спасибо за помощь. | |
|
|
|
|
|
|
|
для: Лена
(12.11.2009 в 12:56)
| | У меня работает код, который вы показали первым (в первом сообщении темы), не пойму, зачем вы используете рег.выражения.
phpinfo();
напишите и ищите "mbstring" | |
|
|
|
|
|
|
|
для: Drago
(12.11.2009 в 12:30)
| | >библиотека php_mbstring у вас подключена
где посмотреть, подключена ли она у меня?
>Просто будет возвращена единица.
Почему единица, если есть print 'конкретное значение'?
Вот, что хочу сделать(это уже рабочее, тестировала)
<?php
function error_length($item,$notice){
$item_len = strlen(preg_replace('/./us', '.', $_POST[$item]));
return ($item_len < 4 || $item_len > 50)? print $notice : print "Все норм";
}
error_length('a',"Длина не соответствует");
?>
|
| |
|
|
|
|
|
|
|
для: Drago
(12.11.2009 в 12:30)
| | Да
Признаю
А скрипт у меня работает, кстати.
Но если библиотека не установлена, то обычно выводится ошибка с указанием на неизвестную функцию. | |
|
|
|
|
|
|
|
для: neadekvat
(12.11.2009 в 12:19)
| | >Массив $_POST существует вне функции, я так понимаю
>А в функции то этого массива нет.
А ничего, что массив $_POST суперглобальный?
>И, как правильно заметили, не надо писать "return print", пишите просто "print" или "echo".
print это функция, следовательно ошибки в записи "return print 'string';" нет. Просто будет возвращена единица. | |
|
|
|
|
|
|
|
для: Лена
(12.11.2009 в 00:26)
| | Массив $_POST существует вне функции, я так понимаю
А в функции то этого массива нет.
И, как правильно заметили, не надо писать "return print", пишите просто "print" или "echo".
И еще, использовать функции mb_ как обычные (не указывая кодировки), по-моему, нелогично | |
|
|
|
|
|
|
|
для: Лена
(12.11.2009 в 11:17)
| | А сама библиотека php_mbstring у вас подключена? | |
|
|
|
|
|
|
|
для: Лена
(12.11.2009 в 11:17)
| | У меня так вообще эту функцию не находит )))
ЗЫ. а почему Вы не хотите исопльзовать strlen? Понимаю конечно, что интересно, почему не работает тот скрипт, но всё же...
А ошибка у вас скорее всего в том, что вы в RETURN пишуте print. Вроде бы так делать нельзя... | |
|
|
|
|