0Pricing
PHP Academy · Урок

Функции подстрок и дополнения

Извлекайте и форматируйте фрагменты строк с помощью substr, str_pad и wordwrap

«Функции подстрок и дополнения» — бесплатный урок PHP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.

Извлечение частей строк

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

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

Извлекайте часть строки, указывая начальную позицию и необязательную длину:

<?php
$str = 'Hello, World!';

echo substr($str, 7);        // World!
echo substr($str, 7, 5);    // World
echo substr($str, -6);      // World!
echo substr($str, -6, 5);   // World

Извлечение многобайтных строк

Для многобайтных строк (UTF-8) используйте mb_substr(), чтобы извлекать части корректно:

<?php
$str = 'Привет Мир'; // Russian

// substr counts bytes, not characters:
echo strlen($str);      // 19 bytes

// mb_substr counts characters:
echo mb_substr($str, 0, 6); // Привет

Дополнение строк

Дополняйте строку до заданной длины:

<?php
// Default: right-pad with spaces
echo str_pad('5', 3, '0', STR_PAD_LEFT);   // 005
echo str_pad('PHP', 10);                    // 'PHP       '
echo str_pad('hi', 8, '-', STR_PAD_BOTH);  // ---hi---

// Format invoice numbers:
echo 'INV-' . str_pad(42, 5, '0', STR_PAD_LEFT); // INV-00042

Перенос строк по ширине

Переносите строку после указанного количества символов, разрывая её по границам слов:

<?php
$text = 'The quick brown fox jumped over the lazy dog';

echo wordwrap($text, 15, PHP_EOL, false);
// The quick brown
// fox jumped over
// the lazy dog

Разделение строк на части

Вставляйте строку-разделитель через каждые N символов — это удобно для кодирования вывода, например в base64:

<?php
$data = '1234567890ABCDEF';

echo chunk_split($data, 4, '-');
// 1234-5678-90AB-CDEF-

// Typical use: base64 encoded email attachments
$encoded = base64_encode(file_get_contents('file.bin'));
$formatted = chunk_split($encoded, 76, "\n");

Преобразование переводов строк в HTML

Преобразуйте переводы строк в теги HTML <br> для отображения в браузере:

<?php
$text = "Line one\nLine two\nLine three";

echo nl2br($text);
// Line one<br />\nLine two<br />\nLine three

Форматирование строк с шаблонами

sprintf() форматирует строку с заполнителями — это удобно для создания структурированного вывода:

<?php
$name  = 'Alice';
$score = 95.5;
$rank  = 1;

$line = sprintf('%-10s %6.2f%%  #%d', $name, $score, $rank);
echo $line;
// Alice       95.50%  #1

number_format()

Форматируйте числа как строки с разделителями тысяч и десятичными разделителями:

<?php
$amount = 1234567.891;

echo number_format($amount);                   // 1,234,568
echo number_format($amount, 2);               // 1,234,567.89
echo number_format($amount, 2, ',', '.');     // 1.234.567,89 (European)
echo number_format($amount, 2, '.', '');      // 1234567.89 (no separator)

Сокращение строк с многоточием

Безопасно сокращайте длинный текст с многоточием для отображения:

<?php
function truncate(string $text, int $max, string $suffix = '...'): string {
    if (mb_strlen($text) <= $max) return $text;
    return mb_substr($text, 0, $max - mb_strlen($suffix)) . $suffix;
}

echo truncate('The quick brown fox', 15);
// The quick br...

Обращение строки

Обращайте строку с помощью strrev() (работает с байтами, но не учитывает многобайтные символы):

<?php
echo strrev('Hello');  // olleH
echo strrev('12345');  // 54321

// Palindrome check
function isPalindrome(string $s): bool {
    $s = strtolower(preg_replace('/[^a-zA-Z]/', '', $s));
    return $s === strrev($s);
}

var_dump(isPalindrome('racecar'));  // true
var_dump(isPalindrome('PHP'));      // false

Повторение и заполнение строк

Создавайте повторяющиеся шаблоны строк для форматирования или дополнения:

<?php
// Build a progress bar
function progressBar(int $percent, int $width = 20): string {
    $filled = (int) round($percent / 100 * $width);
    $empty  = $width - $filled;
    return '[' . str_repeat('#', $filled) . str_repeat('-', $empty) . "] $percent%";
}

echo progressBar(65);  // [#############-------] 65%

Быстрая проверка

Какая функция вставляет символ-разделитель через каждые N символов в строке?

Повторение: подстроки и дополнение

Основные функции:

  • substr($str, start, length) — извлечение по позиции
  • mb_substr() — извлечение с поддержкой многобайтных символов
  • str_pad() — дополнение до нужной длины
  • wordwrap() — перенос по границам слов
  • chunk_split() — вставка разделителя через каждые N символов
  • sprintf() — создание форматированной строки

Часто задаваемые вопросы

Урок «Функции подстрок и дополнения» бесплатный?

Да — полный текст урока «Функции подстрок и дополнения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Функции подстрок и дополнения»?

Извлекайте и форматируйте фрагменты строк с помощью substr, str_pad и wordwrap Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать PHP Academy?

Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Функции подстрок и дополнения»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке PHP Academy?

Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы строк и конкатенация
  2. Поиск и замена в строках
  3. Функции подстрок и дополнения
  4. Разделение и объединение строк
← Назад к PHP Academy