Синтаксис:
substr(string $string, int $start, ?int $length = null): string
Параметры:
$string— исходная строка.$start— с какой позиции начинать (нумерация с нуля).$length(необязательно) — сколько символов взять.
Примеры:
✂️ Вырезать часть строки:
$text = "Привет, мир!";
echo substr($text, 8);
// Вывод: "мир!"
Вырезать первые 6 символов:
$text = "Привет, мир!";
echo substr($text, 0, 6);
// Вывод: "Привет"
Отрицательный старт (с конца строки):
$text = "Привет, мир!";
echo substr($text, -4);
// Вывод: "ир!"
Отрицательная длина:
$text = "Привет, мир!";
echo substr($text, 0, -5);
// Вывод: "Привет,"
Важно для русских букв:
Если строка содержит многоязычные символы (например, кириллицу), обычная substr() может порезать символ посередине, потому что она считает байты, а не символы.
❌ Пример ошибки:
$text = "Привет";
echo substr($text, 0, 3);
// Может вывести "П�", потому что режет по байтам
✅ Решение:
Используй mb_substr():
$text = "Привет";
echo mb_substr($text, 0, 3);
// Вывод: "При"
Пример с проекта.

Получаем GET параметр и обрезаем префикс “str”.
$search_query = '';
if (isset($_GET['w'])) {
$raw_query = sanitize_text_field($_GET['w']);
if (strpos($raw_query, 'str') === 0) {
$search_query = substr($raw_query, 3);
}
}
