Что такое функции строк в PHP на примерах
Строки в php это неотъемлемая часть которая нуждается в обработке, то есть, любой текст находящийся в базе данных или полученный от пользователя. Например, есть задачи с подсчетом символов в строке, нужно обрезать строку, перевести в другой регистр (большие буквы или маленькие) и т.д. Со всеми этими операциями нам помогут функции строк в PHP.
На самом деле, в php функции строк насчитываются десятками, и чтоб уверенно работать с данными нужно знать хотя бы несколько основных. В одной из предыдущих статей мы разбирали многомерные массивы в PHP, возможно подобная работа с данными вас тоже заинтересует.
Основные функции строк в PHP
Приведем в пример несколько основных функций php для работы со строками. А именно, подсчет символов в строке, изменение регистра, получение части строки, поиск подстроки, замена текста и удаление пробелов.
Функция strlen() — длина строки
strlen() — функция возвращает количество символов в строке, то есть, длину самой строки.
$text = "Привет, мир!"; echo strlen($text); // 22 (в UTF-8 подсчитает байты, не символы)
Если работа ведется над строкой с кириллическими символами то лучше использовать функцию mb_strlen() — она более корректно ведет подсчет символов.
echo mb_strlen($text); // 12
Функции strtoupper() и strtolower() — изменение регистра
strtoupper() — переводит все символы строки в верхний регистр, а функция strtolower() наоборот переводит все символы в нижний регистр.
$text = "Learn-Top.ru"; echo strtoupper($text); // LEARN-TOP.RU echo strtolower($text); // learn-top.ru
Для работы с кириллическими символами советую использовать приставку mb_ к каждой функции: mb_strtoupper() и mb_strtolower().
Функция substr() — получает часть строки
Данная функция substr() обрезает строку и возвращает указанное количество символов. Первый параметр передаваемый в функцию должен быть самой строкой, второй параметр указывает с какого символа начать обрезку, третий параметр указывает сколько символов нужно вернуть и остальное будет обрезано.
$text = "Программирование на PHP"; echo substr($text, 0, 12); // Программиро
Не забывайте про приставку к функции mb_ при работе с кириллицей.
Функция strpos() — поиск подстроки
Интересная и не реко нужная php функция strpos() возвращает число, то есть, позицию где найдена подстрока. Именно на том месте есть то что мы ищем и уже можем работать дальше. Первым параметром в функцию передается сама строка в которой нужно произвести поиск, второй параметр это то что мы ищем.
$text = "Hello, PHP world!"; echo strpos($text, "PHP"); // 7
Если функции не удалось найти то что искали, значит ответом будет false.
Функция str_replace() — производит замену текста
Эта функция str_replace() лично мне нравится и когда то я ее часто использовал. Например, много лет назад я делал чат для общения людей, когда еще не было всеми известных мессенджеров. Так вот, в этом чате шла обработка каждого сообщения пользователя, и если в сообщении встречался определенный символ смайлика 🙂 то он заменялся на соответствующую картинку смайлика. Точно также можно пропускать через этот фильтр и нецензурные слова.
$text = "Я люблю JavaScript!";
echo str_replace("JavaScript", "PHP", $text);
// Выведет: Я люблю PHP!
Первый параметр это искомый текст, второй параметр на что его нужно заменить, а третий параметр это сама строка в которой будем производить замену.
Функция trim() — производит удаление пробелов
Например, к нам пришли данные в которых первый символ и последний это пробел, и нам нужно их убрать. Для этого просто передаем строку в функцию trim() и наслаждаемся результатом. Но, эта функция может принимать еще и второй параметр в котором следует указать какие символы удалять из строки в целом.
/* Удаление пробелов по краям */ $name = " John "; echo trim($name); // Выведет: John /* Удаление указанных символов */ $hello = "Hello World"; echo trim($hello, "Hdle"); // Выведет: o Wor
Итоги работы с функциями PHP
Для более конкретного понимания приведу вам таблицу с вышеописанными функциями:
| Задача | Функция(и) в PHP |
|---|---|
| Получить длину строки | strlen() — для байтов; mb_strlen() — для корректной работы с UTF-8 |
| Заменить часть строки | str_replace() |
| Проверить наличие подстроки | strpos() (или mb_strpos() для UTF-8) |
| Вырезать часть строки | substr() — для ASCII; mb_substr() — для UTF-8 |
| Преобразовать регистр строки | strtoupper(), strtolower(); для UTF-8 — mb_strtoupper(), mb_strtolower() |
| Удалить пробелы или другие символы | trim() |
Отличный и незаменимый инструмент — это функции строк в php, который необходим при разработке любого проекта. Пусть этот текст будет взят из базы данных и его нужно как то обработать, или же он прилетел от пользователя из формы на сайте. В любом случае работа со строками была, есть и будет везде. Советую всегда экспериментировать с функциями, как то фильтровать любой текст который вы можете просто скопировать в интернете. Это даст вам четкое представление о работе с данными.