Проверка строковых полей
Категория: PHP
2012-05-31 15:57:03
Нередко возникает задача проверить текстовое поле на соответствие определенным критериям. Например, требуется проверить, содержит ли заданное текстовое поле слово «РНР». В РНР имеется мощный механизм регулярных выражений, который позволяет решать подобные задачи.
Данную задачу можно решить при помощи регулярного выражения '/php/i'. Для этого используется функция preg_match, как показано в примере:
code: #php
<HTML> <HEAD> <TITLE>Использование регулярных выражений</TITLE> </HEAD> <BODY> <CENTER> <H1>Использование регулярных выражений</H1> <?php $errors = array(); if (isset($_REQUEST["seen_already"])) { validate_data(); if (count($errors)>0) { display_errors(); display_form(); } else { process_data(); } } else { display_form(); } function validate_data() { global $errors; if (!preg_match('/php/i', $_REQUEST["Text"])) { $errors[] = "<FONT COLOR='RED'>B тексте должно быть слово \"РНР\"</FONT>"; } } function display_errors() { global $errors; foreach ($errors as $err) { echo $err, "<BR>"; } } function process_data() { echo "Вы сказали: " . $_REQUEST["Text"]; } function display_form() { echo "<FORM METH0D='POST' ACTI0N='phpregular.expressions.php'>"; echo "Скажите что-нибудь про PHP:"; echo "<BR>"; echo "<INPUT NAME='Text' TYPE='TEXT'>"; echo "<BR><BR>"; echo "<INPUT TYPE='SUBMIT' VALUE='OK'>"; echo "<INPUT TYPE='HIDDEN' NAME='seen_already' VALUE='data'>"; echo "</FORM>"; } ?> </CENTER> </BODY> </HTML>
Если пользователь ввел строку, не содержащую слово «РНР», то будет отображено соответствующее сообщение об ошибке.
Книга: PHP в примерах. Купить книгу
Автор: Стивен Хольцнер. Переводчик: С. Банников
Автор: Стивен Хольцнер. Переводчик: С. Банников
Поделиться: