Искать
Вы превысили запрос на
0 знаков

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

Не пройден
14 заданий

После рассмотрения пользовательских функций самое время изучить встроенные, и начнем мы со строковых. Как я уже говорил, на веб-сайте всё представлено в текстовом варианте, и это очень важно. Когда вы читаете эти строки, я пишу в формате [ссылка доступна авторизованным пользователям], но чтобы преобразовать его в HTML, нужно написать парсер или использовать готовую библиотеку.

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

Примечание

Про все строковые функции которые существуют, обратитесь к официальной документации [ссылка доступна авторизованным пользователям]

Функция trim

Функция trim удаляет пробелы в начале и в конце строки.

Пример (php)
<?php
	$str = " Привет Мир! ";

	echo trim($str); // Распечатает без пробелов в начале и конце
?> 

Так же есть подобные функции: ltrim - удаляет пробелы только в начале, rtrim - удаляет пробелы только в конце строки.

Функция implode

Функция implode объединяет элементы массива в строку.

Синтаксис:

Пример (text)
implode(разделитель строки, массив); 

Пример (php)
<?php
	$arr = ['Привет', 'Мир!', 'ГОД -', 2024];

	echo implode(' ', $arr); // Распечатает 'Привет Мир! ГОД - 2024'
?> 

Функция str_starts_with

Проверяет, начинается ли строка с передаваемой подстроки. Возвращает true или false

Синтаксис:

Пример (text)
str_starts_with(подстрока, строка по которой ищем); 

Пример (php)
<?php
	$str = 'Привет мир!';

	if (str_starts_with($str, 'При')) {
		echo "+++"; // Распечатает +++
	} else {
		echo "---";
	}
?> 

Функции strtolower, strtoupper

Функция strtolower - преобразовывает строку в верхний регистр. Функция strtoupper - преобразовывает строку в нижний регистр.

Синтаксис:

Пример (text)
strtolower(строка);

strtoupper(строка) 

Пример (php)
<?php
	$str1 = 'codebra';
	$str2 = 'CODEBRA';

	echo strtolower($str2); // Распечатает  codebra 
	echo strtoupper($str1); // Распечатает CODEBRA
?> 

Запомните

Для преобразования кириллицы потребуются другие функции: mb_strtolower и mb_strtoupper

Функция strlen

Считает сколько символов в строке (пробелы тоже идут в счёт).

Синтаксис:

Пример (text)
strlen(строка) 

Пример (php)
<?php
	$str = 'Codebra';

	echo strlen($str); // Распечатает 7
?> 

Функция substr

Вырезает с строки нужную нам подстроку.

Запомните

Вырезание строки тоже начинается с 0. Мы даже можем к символу строки обратиться как к массиву $str[0] - будет первый символ строки.

Пример (text)
substr(строка, откуда начинать, сколько символов вырезать); 

Пример (php)
<?php
	$str = 'Codebra';

	echo substr($str, 2); // Распечатает debra
	echo substr($str, 2, 1); // Распечатает d
	echo substr($str, -3, 2); // Распечатает br
	echo substr($str, -1); // Распечатает a
?> 

Функция str_replace

Заменяет символы строки при поиске.

Cинтаксис:

Пример (text)
str_replace(искомые подстроки, на что заменить, где заменить); 

Допустим, у нас есть некий HTML шаблон, и нам надо заменить шаблон {{ title }} на тот который мы будем передавать.

Пример (php)
<?php
	$title = 'Изучаем PHP';
	$html = '<title>{{ title }}</title>';

	echo str_replace('{{ title }}', $title, $html); // Распечатает <title>Изучаем PHP</title>
?> 

Удобно, не правда ли? А если у нас будет много значений? Нужно будет передавать массивы.

Пример (php)
<?php
$title = ['Список продуктов','Молоко', 'Сахар', 'Хлеб'];
$search = ['{{ title }}', '{{ milk }}', '{{ sugar }}', '{{ bread }}'] ;
$html = <<<HEREDOC

<h1>{{ title }}</h1>

<ul>
<li> {{ milk }} </li>
<li> {{ sugar }} </li>
<li> {{ bread }} </li>
</ul>

HEREDOC;

echo str_replace($search, $title, $html);
?> 

Вывод будет следующим:

Пример (text)
<h1>Список продуктов</h1>

<ul>
	<li> Молоко </li>
	<li> Сахар </li>
	<li> Хлеб </li>
</ul> 

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

Функция strtr

Заменяет символы в строку, имеет два варианта:

Синтаксис:

Пример (text)
strtr(где меняем, массив замен); 

Пример (text)
strtr(где меняем, что меняем, на что меняем); 

Пример (php)
<?php
	echo strtr('12', ['1' => 'a', '2' => 'b']); // Распечатает ab
?> 

Пример (php)
<?php
	echo strtr('aabb', ['a' => '1', 'b' => '2']); // Распечатает 1122
?> 

Функция substr_replace

Заменяет указанную часть строки на другую строку.

Синтаксис:

Пример (text)
substr_replace(где меняем, на что меняем, с какого символа, [сколько символов]); 

Пример (php)
<?php
	echo substr_replace('World', '23', 1, 2); // Распечатает W23ld
?> 

Функция strpos

Возвращает позицию первого вхождения подстроки в строке.

Синтаксис:

Пример (text)
strpos(строка, ыто ищем, с какого символа искать); 

Пример (php)
<?php
	echo strpos('abcd', 'c'); // Распечатает 2
?> 

Пример (php)
<?php
	echo strpos('abcd abc', 'c', 4); // Распечатает 7
?> 

Функция explode

Преобразует строку в массив.

Синтаксис:

Пример (text)
explode(разделитель, строка); 

Пример (php)
<?php
	$data = '15-08-2024';
	
	print_r(explode('-', $data));
?> 

Выведет в следующем виде:

Пример (text)
[0] => 15
[1] => 08
[2] => 2024 

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

Запомните

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

В следующем уроке будем знакомиться с математическими функциями.

Задания

1. Напишите функцию cleanInput(string $input): string, которая принимает строку и удаляет все лишние пробелы с начала и конца строки с помощью функции trim, оставляя только один пробел между словами.

2. Создайте функцию removeLeadingSymbol(string $input, string $symbol): string, которая удаляет все вхождения указанного символа с начала строки с помощью ltrim

3. Реализуйте функцию removeSuffix(string $input, string $suffix): string, которая удаляет указанный суффикс с конца строки.

4. Напишите функцию joinArray(array $words, string $separator): string, которая объединяет элементы массива в строку с указанным разделителем.

5. Создайте функцию splitString(string $sentence, string $delimiter): array, которая разделяет строку на массив частей по указанному разделителю.

6. Реализуйте функцию startsWithPHP(string $input): bool, которая проверяет, начинается ли строка с подстроки "PHP".

7. Напишите функцию convertToLower(string $input): string, которая преобразует все символы строки в нижний регистр.

8. Создайте функцию convertToUpper(string $input): string, которая преобразует все символы строки в верхний регистр.

9. Реализуйте функцию getStringLength(string $input): int, которая возвращает длину строки.

10. Напишите функцию extractSubstring(string $input, int $start, int $length): string, которая извлекает подстроку из строки, начиная с указанного индекса и определенной длины.

11. Создайте функцию replaceCharacters(string $input, string $search, string $replace): string, которая заменяет все вхождения подстроки в строке на другую подстроку.

12. Напишите функцию translateCharacters(string $input, array $replacements): string, которая заменяет несколько символов или подстрок в строке согласно ассоциативному массиву замен.

13. Реализуйте функцию replaceSubstring(string $input, string $replacement, int $start, int $length): string, которая заменяет часть строки на новую подстроку, начиная с указанного индекса.

14. Создайте функцию findSubstringPosition(string $input, string $search): int, которая находит позицию первого вхождения подстроки в строке.

Похожие уроки Codebra

@codebra_official
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Пользовательские функции в PHPКурс по PHP
Первое знакомство с PythonЗнакомство с Python
Переменные, комментарии и типы данных в PHPКурс по PHP
Поиск хостов с помощью NmapРазведка и сканирование
Погружение в PythonЗнакомство с Python
Работа с файлами в PythonЗнакомство с Python
Итоги раздела «Самые основы Python»Знакомство с Python
Обработка исключений (try/except) в PythonЗнакомство с Python
Поиск сетевых уязвимостей с помощью Metasploit Framework (MSF)Разведка и сканирование
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию и компьютерной безопасности. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Пентесту Active Directory, Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

Если что-то не нашли, то воспользуйтесь поиском по сайту, который находится на главной странице в самом верху.

Удачи в обучении!

Закрыть окно