Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по сетям ЭВМ3.doc
Скачиваний:
24
Добавлен:
02.05.2014
Размер:
99.84 Кб
Скачать

Лекция 4 Манипулирование строками и регулярные выражения

Рассмотрим использование строковых функций PHP для форматирования и манипулирования текстом, поиска и замены слов, выражений.

Создадим новое приложение Smart Form Mail. Новые созданные сценарии будут добавлены к сайту компании, о которых мы говорили ранее.

Создадим форму отзывов клиентов, позволяющую клиентам вводить свои пожелания и замечания. Однако приложение будет обладать преимуществом по сравнению со многими другими формами, которые можно встретить в Web. Вместо того, чтобы отправлять форму по обобщенному адресу электронной почты процессу будет придана некоторая интеллектуальность за счет поиска и вводимых данных ключевых слов и выражений и последующей отправке сообщения электронной почты соответствующему сотруднику компании. Например, если сообщение будет содержать слово реклама, то оно будет отправлено в отдел маркетинга и т.д.

Первоначально рассмотрим простой сценарий, дополняя его по мере изучения материала.

<?

$toaddress = "feedback@bobsdomain.com";

$subject = "Feedback from web site";

$mailcontent = "Customer name: ".$name."\n"

."Customer email: ".$email."\n"

."Customer comments: \n".$feedback."\n";

$fromaddress = "webserver@bobsdomain.com";

mail($toaddress, $subject, $mailcontent, $fromaddress);

?>

<html>

<head>

<title>Bob's Auto Parts - Feedback Submitted</title>

</head>

<body>

<h1>Feedback submitted</h1>

<p>Your feedback has been sent.</p>

</body>

</html>

Поля данной формы объедены, а PHP – функция mail() применяется для отправки их по электронной почте по адресу feedback@bobsdomain.com. Прототип данной функции выглядит следующим образом:

bool mail(string кому, string тема, string сообщение,

string [дополнительные_заголовки]);

Четвертый параметр может использоваться для отправки любых дополнительных допустимых заголовков сообщения электронной почты. В данном примере четвертый параметр был использован для включения в сообщение адреса “From:” (От). Его можно также применять для добавления такого поля, как “Reply-To” (Ответить).

Форматирование строк

Часто строки, вводимые пользователями, придется приводить в порядок, прежде чем их можно будет использовать.

Усечение строк

Первый шаг по приведению строк в порядок – удаление из них любых лишних пробелов. Хотя это и не обязательно, но может оказаться полезным, если предполагается хранение строк в файле или базе данных либо ее сравнение с другими строками. Для этой цели в PHP используются три функции. Используем функцию trim() для приведения вводимых данных в порядок следующим образом:

$name = trim($name);

$email = trim($email);

$feedback = trim($feedback);

Данная функция удаляет пробелы в начале и конце строки и возвращает результирующую строку. При этом символами пробелов считаются символы новой строки (\n), возврат каретки (\r), символы горизонтальной (\t) и вертикальной табуляции (\v), конца строки (\0) и обычные пробелы.

ltrim() – удаляет пробелы только в начале строки;

chop() – удаляет пробелы только в конце строки.