|
|
|
| Добрый день знатоки PHP! Есть форма ввода, в которую возможен ввод цифр, латинских букв и символа "/". Длина "слова" не более 15 символов. Подскажите, каким образом можно проанализировать символы из формы и зафиксировать их для дальнейшего их использования? Т.е. использовать для дальнейшей работы только введённые символы. | |
|
|
|
|
|
|
|
для: NickD
(18.05.2011 в 16:17)
| | Имеется в виду отрезать от введенных только первые 15 символов?
Для этого удобно воспользоваться функцией substr()
<?php
$str = substr($str, 0, 15);
?>
| PS Или нужно добавить проверку по всем указанным параметрам (в этом случае разумнее будет воспользоваться регулярными выражениями)? | |
|
|
|
|
|
|
|
для: cheops
(18.05.2011 в 16:25)
| | Нет, отрезать ничего не надо. Вводимое "слово" уже вводится в форму с условием - не более 15 символов. | |
|
|
|
|
|
|
|
для: NickD
(18.05.2011 в 16:17)
| | в смысле проанализировать? вам какой анализ нужен?
в дальнейшем их можо передать методом Post например из формы в php программу в виде переменной | |
|
|
|
|
|
|
|
для: lightning.say
(18.05.2011 в 16:28)
| | Под "проанализировать" имелось ввиду идентифицировать каждый символ, чтобы в дальнейшем использовать в программе только их. Вводимые в форму символы могут повторяться. | |
|
|
|
|
|
|
|
для: NickD
(18.05.2011 в 18:19)
| | а пример можете привести? | |
|
|
|
|
|
|
|
для: lightning.say
(19.05.2011 в 09:46)
| | Можно. Например, введено в форму "слово" - andxp5g3i8/12 (может быть любое словосочетание).
Теперь проводится анализ. На первом знакоместе буква "а", присваиваем это значение первой переменной. На втором знакоместе "n" - присваиваем это значение второй переменной и т.д. На 13-м месте "2" - присваиваем это значение 13-й переменной. 14-е знакоместо пустое - прекращаем анализ, т.к. пустое знакоместо - признак окончания "слова" и работаем с переменными. | |
|
|
|
|
|
|
|
для: NickD
(19.05.2011 в 09:56)
| | а что мешает присвоить определенной переменной введенное слово как строковой переменной, а потом обращаться к ее элементам как элементам массива?
<?
$str = "andxp5g3i8/12";
echo "$str[0] <br>"; // a
echo "$str[1] <br>"; // n
...
?>
|
| |
|
|
|
|
|
|
|
для: lightning.say
(19.05.2011 в 10:19)
| | Да, в принципе, ничего не мешает. Надо попробовать. Но ещё надо выполнить условие - прекратить обращение к пустым элементам массива, в данном примере соответствующих 14-му и 15-му знакоместам "слова". А "слово" может от 3-х до 15-ти символов. | |
|
|
|
|
|
|
|
для: NickD
(19.05.2011 в 12:07)
| | ну так проверяйте пустое значение или нет, соответствует оно нужным значениям или нет.... и производите действия с каждым элементом массива те которые вам необходимы... | |
|
|
|
|
|
|
|
для: NickD
(19.05.2011 в 12:07)
| | ну количество элементов массива можно определить по длине введенной строки, есть такая функция strlen, в вашем примере длина 13 тогда и не надо производить действия с 14-м и 15-м так как их нет | |
|
|
|
|
|
|
|
для: NickD
(19.05.2011 в 12:07)
| | Существование этих символов можно проверить при помощи функции isset()
<?php
$str = "andxp5g3i8/12";
for($i = 0; $i < strlen($str); $i++)
{
if(isset($str[$i])) echo $str[$i]."<br>";
}
?>
|
| |
|
|
|
|
|
|
|
для: NickD
(19.05.2011 в 12:07)
| | если вам нужно только проверить введенные символы на соответствие, то проще регулярными выражениями воспользоваться... | |
|
|
|
|
|
|
|
для: Lotanaen
(19.05.2011 в 12:21)
| | Спасибо большое за внимание! Буду проверять предложенные варианты. Может мои вопросы показались простыми - извиняюсь, начинающий. ;-) | |
|
|
|