Функция substr()

Тренажер по PHP для пользователей с начальным уровнем подготовки.

Тренажер PHP

В этом тренажере мы погрузимся в одну из самых полезных функций для работы со строками в PHP — `substr()`. Она позволяет "вырезать" и получать части строк, что необходимо для множества задач: от сокращения длинного текста для анонсов до извлечения конкретных данных из текстовых блоков.

Мы начнем с самых основ: как получить несколько первых символов. Затем постепенно усложним задачи, научимся работать с отрицательными индексами, чтобы отсчитывать символы с конца строки, и использовать параметр длины для точного контроля над извлекаемым фрагментом. Задания построены так, чтобы вы на практике освоили все нюансы `substr()` и могли уверенно применять её в своих проектах. Приготовьтесь резать строки!

Список тем

Получение начала строки

id: 39008_task1

Вам дана строка "Hello, World!". Используя функцию для извлечения подстроки, получите первые 5 символов. Заполните пропуски, чтобы в переменной $greeting оказалась строка "Hello".

Заполните пропуски
<?php
$text = "Hello, World!";
$greeting = input1S($text, input2S, input3S);
echo $greeting;
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Предскажите результат: извлечение до конца

id: 39008_task2

Что выведет данный код? Обратите внимание, что третий аргумент (длина) у функции `substr()` не указан. Напишите результат выполнения кода в поле для ответа.

Что должно получиться?
<?php
$sentence = "PHP is a popular language.";
echo substr($sentence, 11);
?>
Сообщения
Проверить
Показать подсказку

Извлечение из середины строки

id: 39008_task3

Проанализируйте код и выберите вариант, который будет выведен на экран. Код извлекает подстроку из середины исходной строки, используя начальную позицию и длину.

Выберите правильный вариант ответа
<?php
$framework = "Laravel is a PHP framework.";
echo substr($framework, 3, 4);
?>
Сообщения
Проверить
Показать подсказку

Исправьте ошибку: неверный порядок аргументов

id: 39008_task4

В коде допущена распространенная ошибка: аргументы в функции `substr()` перепутаны местами. Исправьте строку с вызовом функции так, чтобы код заработал и вывел 'Success'.

Найдите ошибку и исправьте
<?php
$status = "Success: task completed.";
// Нужно получить слово "Success"
$result = substr(0, 7, $status);
echo $result;
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Предскажите результат: отрицательная позиция

id: 39008_task5

Что выведет этот код? Обратите внимание, что второй аргумент функции `substr()` — отрицательное число. Укажите результат в поле для ответа.

Что должно получиться?
<?php
$filename = "document_final_v2.docx";
echo substr($filename, -4);
?>
Сообщения
Проверить
Показать подсказку

Отрицательная длина

id: 39008_task6

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

Выберите правильный вариант ответа
<?php
$str = "Hello, beautiful world!";
echo substr($str, 0, -7);
?>
Сообщения
Проверить
Показать подсказку

Соберите извлечение подстроки из банка

id: 39008_task7

Перетащите элементы из "банка" в пропуски, чтобы собрать работающий код. Цель — извлечь из строки $url доменное имя "example.com". Вспомогательный код для расчета позиции и длины уже написан.

Нужно правильно расставить в пропуски предложенные варианты
<?php
$url = "https://www.example.com/path/to/page";
// Цель: получить 'example.com'
$start = strpos($url, 'www.') + 4;
$end = strpos($url, '.', $start);
$length = $end - $start;

$domain = input1S(input2S, $start, input3S);
echo $domain;
?>
$url
substr
strlen
$length
"example.com"
,
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

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

id: 39008_task8

Дана строка `$text = "Learning PHP is fun"`. Сопоставьте каждый вызов функции `substr()` в левой колонке с правильным результатом из правой колонки.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
substr($text, 9, 3);
substr($text, -3);
substr($text, 0, 8);
substr($text, 9);
Learning
PHP is fun
fun
PHP
Сообщения
Проверить
Показать подсказку

Сложный случай: отрицательный старт и длина

id: 39008_task9

Это более сложный пример. Что выведет код, использующий одновременно отрицательную начальную позицию и отрицательную длину? Введите результат в поле для ответа. Будьте внимательны к пробелам.

Что должно получиться?
<?php
$text = "The quick brown fox";
echo substr($text, -15, -9);
?>
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру