Строковые функции PHP

При разработке интернет магазинов очень часто требуется обрабатывать введенные пользователем данные в текстовые поля. Для этого и существуют строковые функции в 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/ ", "/ ")));

?>

 

Но цель урока показать использование этих функций в связке.

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




Рекомендуем почитать

 

Добавить комментарий


Ваше имя:


Комментарий:


Введите: Картинка