Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа №4 «Работа со строками в PHP»Содержание книги
Поиск на нашем сайте Умение грамотно работать со строками очень важно для программиста. Строковых функций в PHP немало, причем многие из них, так или иначе, просто дублируют друг друга. Однако, приемы работы с основными блоками функций (функции поиска и замены в тексте, функции удаления пробельных символом (trim-функции), функции форматного вывода) надо представлять очень четко. По определению, строка – это последовательность символов типа char, которая заканчивается нулевым символом. Функция htmlspecialchars Вообще говоря, эта функция относится к функциям преобразования символов. Эту функция делает одну простую, но важную вещь – производит преобразование спецсимволов в их HTML эквиваленты. Попросту говоря, эта функция гарантирует, что если Вы вдруг вздумаете написать в гостевой книге или на форуме какой-то код (php, javascript и т.д.) он отобразиться совершенно нормально, но выполняться не будет! Т.е. функцию надо применять, если нужно вывести в браузере какой-то код. Кроме того, эта функция избавляет Вас от людей, которым нечем заняться кроме как писать в Ваших формах ввода какие либо скрипты. Ну а теперь, собственно, о функции. Синтаксис: string htmlspecialchars ( string str [, int quote_style [, string charset]] );Первый аргумент – строка, в которой надо выполнить преобразование. В качестве второго необязательного аргумента принимается константа, задающая режим преобразования кавычек. По умолчанию, используется ENT_COMPAT, преобразующая двойные кавычки, при этом одиночные остаются без изменений. В режиме ENT_QUOTES преобразуются и двойные, и одиночные кавычки. а в режиме ENT_NOQUOTES и двойные, и одиночные кавычки остаются без изменений. Третий необязательный аргумент принимает строку, представляющую набор символов, используемых в преобразовании (по умолчанию ISO-8859-1). К примеру, если Вы обрабатываете какое-то сообщение $msg формы, то обработка его функцией htmlspecialchars()возможна следующим образом: $msg = htmlspecialchars ( $msg );Давайте напишем примитивный php скрипт, который будет отображать данные, вводимые в форме. <? $action = $_POST["action"]; if ( empty($action )) {?> <HTML> <HEAD> <TITLE>Примерчик</TITLE> </HEAD> <BODY> <center> <table border=0> <form action=test1.php method=post> <input type=hidden name=action value=post> <tr><td colspan=2>Сообщение<br><textarea cols=50 rows=8 name=msg> <? echo $msg; ?> </textarea></td></tr> <tr><td colspan=2><input type=submit value='Добавить'></td></tr> </form> </table> </center> </BODY> </HTML> <? }?>Ничего сложного, просто форма для ввода сообщения. Выводится и обрабатывается введенное сообщение файлом, указанным action’е формы (test1.php). Код, написанный в этом файле тоже прост: <? $msg = substr ( $_POST["msg"],0,1024 ); $msg = htmlspecialchars ( $msg ); print "<P>".$msg."</P>\n"; ?>Вроде как все понятно. Выделяем из переменной $_POST сообщение (о функции substr() смотрите чуть ниже), обрабатываем это сообщение функцией htmlspecialchars() и выводим. А теперь давайте немного пошутим, и введем в форму для вода сообщения вместо безобидного текста вот такой javascript-код (пока тоже безобидный): <Script Language="JavaScript"> alert("Приветик!"); // функция вывода в JavaScript </Script>Т.е. наша форма примет следующий вид:
В случае если при обработке сообщения мы использовали эту чудо-функцию, ничего страшного не произойдет и мы просто увидим текст, который набрали. А вот если, мы не обработали сообщение функцией htmlspecialchars(), то мы увидим уже не текст скрипта, а результат его выполнения:
Функции поиска в тексте Substr() Синтаксис: string substr ( string string, int start[, int length] )Эта функция возвращает часть строки. Первый аргумент – исходная строка; второй – положение в строке, которую надо вернуть, первого символа (отсчет начинается с нуля); третий – длина строки в символах, которую надо вернуть. Если третий аргумент не указан, то возвращается вся оставшаяся часть строки. Пример: <? $string = substr("Hello, world!", 6, 1); echo ( $string ); ?>Результат выполнения – символ "w". Если же третий параметр не указывать, т.е. написать то возвратиться подстрока "world!".
Strpos() Синтаксис: string strpos(string haystack, string needle[, int offset])Эта функция обеспечивает действие, обратное функции substr. Т.е. она возвращает позицию в строке haystack, в которой найдена переданная ей подстрока needle. Т.е. следующий скрипт <? $string = strpos ( "Hello, world!", "world" ); echo( $string ); ?>вернет нам число 7. Необязательный параметр offset позволяет указать в строке позицию, с которой надо начинать поиск:
Strrpos() Синтаксис: string strrpos ( string haystack, string needle )Эта функция ищет в строке haystack последнюю позицию, где встречается символ needle.
Strstr() Синтаксис: string strstr ( string haystack, string needle )Функция strstr() возвращает участок строки, заданной в параметре haystack, начиная с первого фрагмента, указанного в параметре needle и до конца строки. В случае неудачи функция возвращает false. Пример: <? $url = "http://www.softtime.ru"; $www = strstr($url,"w"); echo ( $www ); ?>Результат: www.softtime.ru Эта функция чувствительна к регистру. Заметим также, что в случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа.
Strchr() Синтаксис: string strchr ( string haystack, string needle )Данная функция работает абсолютно идентично функции strstr(): <? $url = "http://www.softtime.ru"; $www = strstr($url,"w"); echo ( $www ); ?>Результат: www.softtime.ru
Stristr() Синтаксис: string stristr ( string haystack, string needle )Эта функция работает абсолютно аналогично функции strstr(), только является нечувствительной к регистру.
Strrchr() Синтаксис: string strrchr ( string haystack, string needle )А эта функция отличается от аналогичных ей тем, что осуществляет поиск последнего вхождения подстроки. Т.е. функция strrchr() возвращает участок строки, заданной в параметре haystack, начиная с последнего фрагмента, указанного в параметре needle и до конца строки. В случае неудачи возвращает false. Чувствительна к регистру. В случае если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа. Давайте посмотрим, какая у нас директория прописана последней в переменной окружения $PATH: <p> <font color=red> Это все, что у меня есть:)</font></p> <? echo ( $PATH ); ?> <p> <font color=red> А это – из последнего:</font></p> <? $dir = substr ( strrchr($PATH, ";"), 1 ); echo ( $dir ); ?>
substr_count() Синтаксис: int substr_count ( string haystack, string needle )Функция substr_count() находит количество вхождений фрагмента в строку. Она возвращает число фрагментов needle, присутствующих в строке haystack. Пример: <? $str = "dfhd@ffs@dfskfk@asas"; $substr_count = substr_count ( $str,"@" ); echo ( $substr_count ); ?>Результат: 3.
Strspn() Синтаксис: int strspn ( string str1, string str2 )Функция strspn() определяет присутствие начальных символов в строке. Она возвращает длину начального фрагмента строки str1, состоящего полностью из символов, которые есть в строке str2. Пример: <? $str = "dfhd@ffs@dfskfk@asas"; $substr_count = strspn ( $str,"df" ); echo ( $substr_count ); ?>Результат: 2.
Strcspn() Синтаксис: int strcspn ( string str1, string str2 )Обратная функции strspn() функция strcspn() Определяет отсутствие начальных символов в строке. Функция strcspn() возвращает длину начального фрагмента строки str1, состоящего полностью не из символов, которые есть в строке str2.
|
||
|
Последнее изменение этой страницы: 2020-11-28; просмотров: 262; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |