Наше прошлое 20072009201120132014
г. Москва, ул. Гостиничная, д. 7А. кор.2
8 (499) 404-26-56
пн-пт 11:00 - 19:00
 

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

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

Вот список основных, и самых используемых строковых функций в php:

  1. srelen ("текст") — считает количество символов в строке. Вот небольшой пример: 
    <?php
    echo strlen("http://ox2.ru/"); //На экране появится 14 
    ?>
  2. str_replace("что заменять", "на что заменять", "текст"); – функция нужна для замены подстроки в строке. Например, нам нужно заменить слово студия на «ля-ля-ля», в предложении: «Дизайн студия OX2 на рынке 20 лет» 
    <?php
        echo str_replace("студия", "ля-ля-ля", "Дизайн студия OX2 на рынке 20 лет");
    ?>
    На экране увидим: «Дизайн ля-ля-ля OX2 на рынке 20 лет »
  3. trim ("текст", "символы") — удаляет символы по краям. Например, нам нужно удалить по-краям пробелы и запятые в строке - « , , , Дизайн студия ox2.ru , , ", ", ». Для этого напишем код: 
    <?php
        echo trim(" ,    ,  ,    Дизайн студия ox2.ru          ,   ,  ", ", ");
    ?>
    Первый параметр строка, второй — символы, которые нужно удалить по краям (если не указывать второй параметр, то обрезаться будут только пробелы). 
    На экране увидим «Дизайн студия ox2.ru», без пробелов и запятых. Есть аналогичные функции ltrim — удаляет символы слева, и rtrim — справа. 
    Функция очень часто используется при создании интернет-магазинов, например при авторизации, чтобы пользователь при копировании пароля из блокнота случайно не вставил лишние пробелы или другие знаки.
  4. substr("Строка", "Начальная позиция", "Конечная позиция"); - возвращает часть строки. Например, нам нужно в строке "Дизайн студия ox2.ru занимается созданием сайтов и интернет-магазинов" обрезать все лишнее, и оставить только «ox2.ru занимается созданием сайтов», для этого напишем код: 
    <?php
    echo substr("Дизайн студия ox2.ru занимается созданием сайтов и интернет-магазинов", 14, 34);
    ?>
    Вырезаем подстроку, начинаю с 14-ого символа, и заканчивая 34. На экране увидим «ox2.ru занимается созданием сайтов». Если последний параметр (34) не указывать, то текст будет вырезан с 14-ой позиции до конца строки.
  5. 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/ ", "/ ")));
?>

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

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

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

Комментарии

Нет комментариев

Заполните все поля

Написать комментарий

Ваше имя

Комментарий