Glossary overview

Substr

Синтаксис:

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);
	}
}