При разработке интернет магазинов очень часто требуется обрабатывать введенные пользователем данные в текстовые поля. Для этого и существуют строковые функции в PHP. С их помощью мы можем обрабатывать текстовую информацию так, как нам нужно. В этой статье мы в начале разберем основные строковые функции, а потом напишем небольшой пример, для закрепления.
Вот список основных, и самых используемых строковых функций в php:
- srelen ("текст") — считает количество символов в строке. Вот небольшой пример:
<?php echo strlen("http://ox2.ru/"); //На экране появится 14 ?>
- str_replace("что заменять", "на что заменять", "текст"); – функция нужна для замены подстроки в строке. Например, нам нужно заменить слово студия на «ля-ля-ля», в предложении: «Дизайн студия OX2 на рынке 20 лет»
<?php echo str_replace("студия", "ля-ля-ля", "Дизайн студия OX2 на рынке 20 лет"); ?>
На экране увидим: «Дизайн ля-ля-ля OX2 на рынке 20 лет » - trim ("текст", "символы") — удаляет символы по краям. Например, нам нужно удалить по-краям пробелы и запятые в строке - « , , , Дизайн студия ox2.ru , , ", ", ». Для этого напишем код:
<?php echo trim(" , , , Дизайн студия ox2.ru , , ", ", "); ?>
Первый параметр строка, второй — символы, которые нужно удалить по краям (если не указывать второй параметр, то обрезаться будут только пробелы).
На экране увидим «Дизайн студия ox2.ru», без пробелов и запятых. Есть аналогичные функции ltrim — удаляет символы слева, и rtrim — справа.
Функция очень часто используется при создании интернет-магазинов, например при авторизации, чтобы пользователь при копировании пароля из блокнота случайно не вставил лишние пробелы или другие знаки. - substr("Строка", "Начальная позиция", "Конечная позиция"); - возвращает часть строки. Например, нам нужно в строке "Дизайн студия ox2.ru занимается созданием сайтов и интернет-магазинов" обрезать все лишнее, и оставить только «ox2.ru занимается созданием сайтов», для этого напишем код:
<?php echo substr("Дизайн студия ox2.ru занимается созданием сайтов и интернет-магазинов", 14, 34); ?>
Вырезаем подстроку, начинаю с 14-ого символа, и заканчивая 34. На экране увидим «ox2.ru занимается созданием сайтов». Если последний параметр (34) не указывать, то текст будет вырезан с 14-ой позиции до конца строки. - strpos("Строка", "подстрока", позиция начального символа); — возвращает позицию найденной подстроки в строке. Например, нам нужно узнать позицию слова "ox2" в строке "Компания ox2.ru умеет создавать интернет магазины. В дизайн студии ox2.ru вы можете заказать сайт", пишем код:
<?php echo strpos("Компания ox2.ru умеет создавать интернет магазины. В дизайн студии ox2.ru вы можете заказать сайт", "ox2"); ?>
На экране увидим 9, т.к. с 9-ого символа начинается первое вхождение слова ox2. Если указать 3-ий параметр то поиск вхождения будет с этой позиции.
Так же есть функция strrpos, она ищет справа налево. Если в этом примере указать вместо strpos – strrpos, то на экране увидим 67, т.к. справа первое вхождение начинается с 67-ого символа.
Теперь напишем пример, для закрепления материала. В нашем скрипте будем обрабатывать данные из текстового поля «Адрес сайта:». Адрес сайта можно ввести так: «http://ox2.ru/», можно так «www.ox2.ru», можно так: «ox2.ru/», и т.д. Вариантом достаточно много. А для нашего интернет-магазина обязательное условие, это хранение всех данных о пользователе в едином формате («ox2.ru», без http, www, пробелов и слэшей по краям!).
<?php /** * Работа со строковыми функциями * @author дизайн студия ox2.ru */ //Строка, которую нужно привести к виду "ox2.ru". //Заметьте что адрес сайта еще и окружен пробелами! $string = " http://www.ox2.ru/ "; $string = trim($string, "/ "); //Удаляем пробелы по-бокам, и слэш справа if (strpos($string, "http://") !== false) { //Если в строке присутствует подстрока http://, то: $string = substr($string, strpos($string, "http://") + strlen("http://")); //Обрезаем } if (strpos($string, "www.") !== false) { $string = substr($string, strpos($string, "www.") + strlen("www.")); } echo ""$string""; ?>
Конечно это не самый удачный вариант, использовать такое количество строковых функций для обрезания лишнего, можно воспользоваться той же функцией str_replace:
<?php echo str_replace("www.", "", str_replace("http://", "", trim(" http://www.ox2.ru/ ", "/ "))); ?>
Но цель урока показать использование этих функций в связке.
Работать со строковыми функциями приходиться не только если цены на создание сайтов высокие, в эконом сайтах они тоже почти всегда используются.
Комментарии
Заполните все поля
Написать комментарий