Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 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). Код, написанный в этом файле тоже прост:
Вроде как все понятно. Выделяем из переменной $_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; просмотров: 153; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.19.27.178 (0.013 с.) |