Главная » Программирование » PHP: Функции работы со строками

PHP: Функции работы со строками

Для вывода строк используются конструкция echo.

Самые используемые строковые функции PHP

  • trim() — удаляет все разделители в начале и конце строки.
  • str_replace() — заменяет все экземпляры указанной подстроки в строке на новую подстроку.
  • substr_replace() — заменяет часть строки, ограниченную параметрами.
  • str_split () — разбивает строку в массив по количеству символов.
  • strtoupper() и strtolower() — переводит символы строки в верхний и нижний регистр.
  • ucwords() — переводит в верхний регистр первый символ каждого слова.
  • explode() — разбивает строку на массив.
  • implode() — объединяет элементы массива со строкой.

Описание функций

Преобразовывают строку в нижний регистр:
strtolower () — неправильно работает с кириллицей.
mb_strtolower () — работает аналогично, но корректно обрабатывает кириллицу.

Преобразовывают строку в ВЕРХНИЙ регистр:
strtoupper () — неправильно работает с кириллицей.
mb_strtoupper () — работает аналогично, но корректно обрабатывает кириллицу.

strtolower() и mb_strtolower() | strtoupper() и mb_strtoupper()
Функции преобразуют Первый символ строки:
ucfirst () — в Верхний регистр.
lcfirst () — в нИЖНИЙ регистр.
* Не работают с кириллицей

ucfirst() и lcfirst()
ucwords () — преобразует Первый Символ Каждого Слова В Строке В Верхний регистр. * Не работает с кириллицей.

ucwords()

Функция возвращает длину строки (количество символов в строке):
strlen () — неправильно работает с кириллицей.
mb_strlen () — работает аналогично, но корректно обрабатывает кириллицу.

strlen() и mb_strlen()
Функция вырезает и возвращает подстроку из строки. Сама строка при этом не изменяется:
substr () — неправильно работает с кириллицей.
mb_substr () — корректно обрабатывает кириллицу.

Параметры:
1 — строка;
2 — позиция символа, откуда следует начинать вырезание. Если 2й параметр отрицательный — отсчет начнется с конца строки (последний символ будет иметь номер -1).
[3] — количество символов. параметр можно не указывать — отрезание произойдет до конца строки.

mb_substr() и mb_substr()
Поиск в строке текста и замена его другим:
str_replace () — с учетом регистра.
str_ireplace () — без учета регистра.

Параметры:
1 — то, что меняем;
2 — на что меняем.
Это могут быть 2 строки или 2 массива. Во 2м случае соответствующие элементы одного массива заменятся на соответствующие элементы 2го массива.

str_replace() — поиск текста в строке и замена его другим
strtr ()поиск и замена символов в строке. Имеет два варианта работы.

В 1-м варианте функция принимает массив замен: ключами служит то, что мы меняем, а значениями — на что будем менять.

Во 2-м варианте функция одним параметром принимает строку с символами, которые будут заменены, а вторым параметром — строку с символами, на которые будет производится замена. Соответствующие символы первой строки будут заменены на соответствующие символы второй строки. (* 2-й вариант Не работает с Кириллицей).

strtr() — поиск и замена символов в строке
substr_replace ()вырезает часть строки и заменяет её на указанную строку. * Не работает с Кириллицей.

Параметрами указывается откуда начинать вырезание и сколько символов взять (если последний не указан — то замена произведется до конца строки).

substr_replace() — вырезает указанную часть строки и вставляет другую
strpos ()возвращает позицию первого вхождения подстроки в другую строку.

Параметры:
1 — строка, в которой осуществляется поиск;
2 — подстрока, которую следует искать;
[3] — позиция с которой начинать поиск. Если не задан, то поиск начнется с начала строки.

Результатом выполнения функции будет позиция первого символа найденной подстроки, а если такая подстрока не будет найдена — то false. Нумерация идет с 0 и, если подстрока находится в начале строки, то результатом будет 0. Это может привести к ошибкам, если сделать, к примеру, так: if(strpos()) — в этом случае и 0, и false приведут к одинаковому результату, и скорей всего не выполнит, то что подразумевалось.

strpos() — возвращает позицию первого вхождения подстроки
Возвращает позицию последнего вхождения подстроки::
strrpos () — с учетом регистра.
strripos () — без учета регистра.

Параметры:
1 — строка, в которой осуществляется поиск;
2 — подстрока, которую следует искать;
[3] — поиск начнется с данного количества символов с начала строки. Если передано отрицательное значение, поиск начнется с указанного количества символов от конца строки, но по прежнему будет производится поиск последнего вхождения

strrpos() и strripos() — возвращает позицию последнего вхождения подстроки

explode ()разбивает строку в массив по определенному разделителю.
explode() — разбивает строку в массив по разделителю
implode ()cливает массив в строку с указанным разделителем.
implode() — cливает массив в строку с разделителем
str_split () — разбивает строку в массив по количеству символов.

Параметры:
1 — строка, в которой осуществляется поиск;
2 — количество символов в элементе массива из которого будет состоять каждый элемент массива.

str_split() — разбивает строку в массив по количеству символов.
trim ()удаляет пробелы с начала и конца строки. Может также удалять другие символы, если их указать вторым параметром.
ltrim() — удаляет пробелы с начала строки.
rtrim() — удаляет пробелы с конца строки.

К символам разделителям относятся следующие символы: \n (новая строка), \r (возврат каретки), \t (табуляция), простой пробел.

trim () — удаляет пробелы (и другие символы) с начала и конца строки
strrev ()переворачивает строку задом наперед. * Не неправильно работает с кириллицей.
strrev() — переворачивает строку
str_shuffle ()переставляет символы в строке в случайном порядке. * Не работает с кириллицей.
str_shuffle() — переставляет символы в строке случайно

number_format ()форматирует число с разделением групп. В основном используется, чтобы отделять тройки чисел пробелами. Например, из 1234567 она может сделать 1 234 567.

Кроме того, функция позволяет регулировать количество знаков после дробной части. Это количество задается вторым необязательным параметром.

Например, можно из дроби 12345.6789 сделать дробь 12 345.68 — функция расставит пробелы между тройками и округлит дробь до двух знаков в дробной части.

3-й необязательный параметр задает разделитель дробной части (по умолчанию точка, но можно изменить). Обязательно вместе с третьим параметром должен быть и 4-й — он устанавливает разделитель троек чисел (по умолчанию запятая, но можно изменить, например, на пробел). Т.е. по умолчанию функция разделяет тройки запятыми: из 1234567 делает 1,234,567.

Параметры:
1 — число;
2 — количество знаков;
[3] — разделитель дробной части. Должен быть вместе с 4-м;
[4] — разделитель тысяч.

number_format () — форматирует число с разделением групп
str_repeat () — повторяет строку заданное количество раз.
str_repeat() — повторяет строку заданное количество раз
htmlspecialchars ()выводит теги в браузер как строки.

Функция преобразует амперсанд «&» в «&amp;», уголок ‘<‘ в «&lt;», уголок ‘>’ в «&gt;».

htmlspecialchars () — выводит теги в браузер как строки
strip_tags ()удаляет HTML теги из строки, не трогая их содержимого.

2-м параметром можно указать разрешенные теги — они не будут удалены. Их указываем в таком формате: ‘<b>’ или ‘<b><p>’, если хотим оставить несколько тегов.

strip_tags () — удаляет HTML теги из строки

ord () — возвращает ASCII код символа. Параметром принимает один символ или целую строку (в этом случае возвращает код ее первого символа).
ord() — возвращает код символа ASCII
chr () — находит символ по его ASCII коду.
chr() — находит символ по его ASCII коду
Функции находят первое (или последнее) вхождение подстроки и возвращает часть строки начиная с этого места до конца.
strchr () — первое вхождение.
strrchr () — последнее вхождение.

Параметры:
1 — где ищем;
2 — что ищем. Если вхождение ненайдено то false. Если 2-й параметр из более чем 1-го символа, используется только 1-й символ.

strchr() — находит первое вхождение подстроки и возвращает строку с этого места до конца
Функция находит первое вхождение подстроки и возвращает часть строки начиная с этого места до конца.
strstr () — с учетом регистра.
stristr () — без учета регистра.
* В отличие от strchr() ищет вхождение из нескольких символов, а не одного.

Параметры:
1 — где ищем;
2 — что ищем. Если вхождение ненайдено то false. Если 2-й параметр из более чем 1-го символа, используется только 1-й символ.

strchr() — находит первое вхождение подстроки и возвращает строку с этого места до конца

Задачи по функциям для работы со строками

Задачи из учебника code.mu

Задачи и решения по строковым функциям PHP
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии