Аргерих Л. О языке РНР. Часть 2. Страница 22


Функция PHP htmlspecialchars() предназначена для осуществления следую­щих действий в формах:

$note = htmlspe.cialchars("<a href=http://unwantedsite.com>Click Here for $$$</a>")

Эта функция преобразует все теги HTML в сущности HTML, например < пре­вращается в <, и данная переменная будет отображена так:

<а href=http://unwantedsite.com/">http://unwantedsite.com > Click Here for $$$ </a>

Таким образом, любой введенный код HTML будет преобразован и отобра­жен буквально.

Функция escapeshellcmd()

string escapeshellcmd(string command)

Эта функция полезна, когда полученные от пользователя данные передают­ся таким функциям, как ехес() или system(). Она обходит любые символы в строке, которые могут заставить командный процессор выполнить произ­вольные команды, нарушающие безопасность системы или даже удалить все файлы в каталоге.

Перечисленные выше ситуации относятся к чрезвычайным и встречаются редко, а в обычных случаях нужны значительно более простые проверки. Приходится проверять корректность адреса электронной почты или наличие в имени только символов алфавита, а не цифр. Неплохо было бы в приведенном примере иметь возможность просто вырезать HTML-теги <а href= http ... >. Такую возможность предоставляют регулярные выражения (regular expres­sions).

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

Регулярные выражения (regex) ведут свое происхождение от ранних иссле­дований нервной системы человека. Уоррен Мак-Каллох (Warren McCulloch) и Уолтер Питтс (Walter Pitts), два нейрофизиолога, разработали способ ма­тематического описания таких нервных сетей. В 1956 году американский математик Стивен Клини (Stephen Kleene), основываясь на более ранней ра­боте Мак-Каллоха и Питтса, опубликовал работу «Representation of Events in Nerve Nets» (Представление событий в нейронных сетях), в которой было введено понятие регулярных выражений. Регулярные выражения служили способом описания того, что он назвал «алгеброй регулярных множеств».

Эти теории не сильно повлияли на нейрологию, но данная работа оказала воздействие на некоторые ранние разработки вычислительных алгоритмов поиска, которые проводил Кен Томпсон (Ken Thompson), главный создатель UNIX. Первым практическим применением регулярных выражений стал редактор UNIX под названием qed.

С тех пор регулярные выражения стали важной составной частью текстовых редакторов, инструментов поиска и большинства основных языков програм­мирования. Регулярные выражения, по существу, представляют собой язык описаний для поиска (строк) по шаблону. С помощью регулярных выраже­ний можно:




Хотите быть на связи в любом месте и в любое время суток? Тогда заказывайте у нас на сайте GSM усилитель, который можно установить в труднодоступных для радиосигнала местах, например, в загородном доме, офисе, ресторане, складе, подземной стоянке и т.д.