Поиск публикаций
Муниципальные услуги

Получите услугу онлайн

Перейти

Cтроковые функции

 Базовые операции

строки.длина(строка)

Возвращает количество символов в строке (в кодировке UTF-8).

ПараметрТипОписание
строкастрокаИсходная строка
Возвращает: число
Пример:
$длина = строки.длина("Привет");  // 6

строки.символ(строка, индекс)

Возвращает символ (подстроку длины 1) по указанному индексу. Индексация начинается с 0. Если индекс вне диапазона, возвращается пустая строка.

ПараметрТипОписание
строкастрокаИсходная строка
индексчислоПозиция символа
Возвращает: строка (один символ)
Пример:
$ch = строки.символ("Hello", 1);  // "e"

строки.подстрока(строка, начало [, длина])

Извлекает подстроку, начиная с позиции начало (включительно). Если указана длина, возвращается ровно столько символов, иначе до конца строки.

ПараметрТипОписание
строкастрокаИсходная строка
началочислоИндекс первого символа
длина (необяз.)числоКоличество символов
Возвращает: строка
Пример:
$sub = строки.подстрока("Hello, World!", 7, 5);  // "World"

строки.пустая(строка)

Проверяет, является ли строка пустой (длина == 0). Возвращает логическое значение.

Возвращает: логическое значение
Пример:
если (строки.пустая($text)) { … }

строки.позиция(строка, подстрока [, смещение])

Возвращает индекс первого вхождения подстроки в строке, начиная с позиции смещение (по умолчанию 0). Возвращает -1, если не найдено.

ПараметрТипОписание
строкастрокаИсходная строка
подстрокастрокаИскомая подстрока
смещение (необяз.)числоС какого индекса искать (по умолчанию 0)
Возвращает: число
Пример:
$pos = строки.позиция("Hello, World!", "World");  // 7

строки.последняяПозиция(строка, подстрока)

Возвращает индекс последнего вхождения подстроки в строке. Возвращает -1, если не найдено.

Возвращает: число
Пример:
$last = строки.последняяПозиция("Hello, World!", "l");  // 10

строки.содержит(строка, подстрока)

Проверяет, содержит ли строка указанную подстроку. Возвращает логическое значение.

Возвращает: логическое значение
Пример:
если (строки.содержит($text, "test")) { … }

строки.начинаетсяС(строка, префикс)

Проверяет, начинается ли строка с указанного префикса. Возвращает логическое значение.

Возвращает: логическое значение

строки.заканчиваетсяНа(строка, суффикс)

Проверяет, заканчивается ли строка указанным суффиксом. Возвращает логическое значение.

Возвращает: логическое значение

строки.количество(строка, подстрока)

Подсчитывает количество (непересекающихся) вхождений подстроки в строку.

Возвращает: число
Пример:
$cnt = строки.количество("ababa", "ab");  // 2

 Преобразование

строки.верхний(строка)

Преобразует все символы строки в верхний регистр.

Возвращает: строка

строки.нижний(строка)

Преобразует все символы строки в нижний регистр.

Возвращает: строка

строки.обратный(строка)

Возвращает строку с символами в обратном порядке.

Возвращает: строка
Пример:
$rev = строки.обратный("12345");  // "54321"

строки.обрезка(строка)

Удаляет пробелы (и другие пробельные символы) с начала и конца строки.

Возвращает: строка

строки.обрезатьСлева(строка)

Удаляет пробелы только с начала строки.

Возвращает: строка

строки.обрезатьСправа(строка)

Удаляет пробелы только с конца строки.

Возвращает: строка

строки.упроститьПробелы(строка)

Заменяет все последовательности пробельных символов (пробелы, табуляции, переводы строк) на один пробел, а также удаляет пробелы в начале и конце строки.

Возвращает: строка
Пример:
$clean = строки.упроститьПробелы("  a   b\tc\n d  ");  // "a b c d"

строки.повторить(строка, количество)

Повторяет строку указанное количество раз и возвращает результат.

Возвращает: строка
Пример:
$rep = строки.повторить("AB", 3);  // "ABABAB"

 Модификация

строки.заменить(строка, старая, новая)

Заменяет все вхождения подстроки старая на новая.

Возвращает: строка
Пример:
$new = строки.заменить("Hello, World!", "World", "Вася");  // "Hello, Вася!"

строки.вставить(строка, позиция, вставка)

Вставляет подстроку вставка в указанную позицию исходной строки.

Возвращает: строка
Пример:
$result = строки.вставить("Hello", 2, "123");  // "He123llo"

строки.удалить(строка, начало [, длина])

Удаляет подстроку, начиная с позиции начало и длиной длина (если не указана, до конца строки).

Возвращает: строка
Пример:
$result = строки.удалить("Hello", 1, 3);  // "Ho"

строки.обрезатьПоследние(строка, количество)

Удаляет указанное количество символов с конца строки.

Возвращает: строка
Пример:
$result = строки.обрезатьПоследние("Hello", 2);  // "Hel"

строки.усечь(строка, максимальнаяДлина)

Обрезает строку до указанной максимальной длины (если строка короче, возвращается без изменений).

Возвращает: строка
Пример:
$short = строки.усечь("Hello, world!", 5);  // "Hello"

 Форматирование и выравнивание

строки.формат(шаблон, ...)

Заменяет плейсхолдеры вида %1, %2, … на соответствующие аргументы (порядок начинается с 1). Возвращает отформатированную строку.

Возвращает: строка
Пример:
$res = строки.формат("User %1 from %2", "Alice", "Moscow");  // "User Alice from Moscow"

строки.выровнятьЛево(строка, ширина [, заполнитель])

Дополняет строку справа символами заполнитель (по умолчанию пробел) до указанной ширины. Если строка длиннее ширины, она возвращается без изменений.

Возвращает: строка
Пример:
$res = строки.выровнятьЛево("Hi", 5, ".");  // "Hi..."

строки.выровнятьПраво(строка, ширина [, заполнитель])

Дополняет строку слева символами заполнитель до указанной ширины.

Возвращает: строка
Пример:
$res = строки.выровнятьПраво("Hi", 5, ".");  // "...Hi"

строки.левых(строка, количество)

Возвращает первые количество символов строки (аналог подстрока(0, количество)).

Возвращает: строка

строки.правых(строка, количество)

Возвращает последние количество символов строки.

Возвращает: строка

строки.заполнить(строка, длина, заполнитель)

Возвращает строку, состоящую из повторяющегося символа заполнитель длиной длина. Содержимое строка игнорируется (эта функция скорее для совместимости, используйте повторить).

Возвращает: строка
Пример:
$res = строки.заполнить("xyz", 5, "-");  // "-----"

строки.разбить(строка, разделитель)

Разбивает строку на массив подстрок по указанному разделителю. Если разделитель пустой, возвращает массив символов.

Возвращает: массив строк
Пример:
$arr = строки.разбить("раз два три", " ");

 Преобразование типов

строки.целое(строка)

Преобразует строку в целое число (игнорирует ведущие пробелы). Если строка не является числом, возвращает 0.

Возвращает: число (целое)
Пример:
$num = строки.целое("  -123 ");  // -123

строки.дробное(строка)

Преобразует строку в число с плавающей точкой (игнорирует ведущие пробелы). Использует десятичную точку.

Возвращает: число (дробное)
Пример:
$num = строки.дробное("3.1415");  // 3.1415

строки.сравнить(строка1, строка2)

Лексикографическое сравнение строк (на основе Unicode). Возвращает отрицательное число, если первая строка меньше второй, положительное — если больше, и 0 при равенстве.

Возвращает: число
Пример:
$cmp = строки.сравнить("abc", "abd");  // -1

строки.сравнитьЛокаль(строка1, строка2)

Сравнение строк с учётом текущей локали (для русских букв и т.п.). Возвращает 0 при равенстве, отрицательное/положительное в зависимости от порядка.

Возвращает: число

 Безопасность (HTML/URL/слаг)

строки.экранироватьHTML(строка)

Преобразует специальные HTML-символы (<, >, &, ", ') в HTML-сущности для защиты от XSS.

Возвращает: строка
Пример:
$safe = строки.экранироватьHTML("<script>alert('XSS')</script>");

строки.кодироватьURL(строка)

Кодирует строку для использования в URL (процентное кодирование по стандарту RFC 3986).

Возвращает: строка
Пример:
$enc = строки.кодироватьURL("Привет мир!");

строки.декодироватьURL(строка)

Декодирует URL-кодированную строку обратно в обычный текст.

Возвращает: строка

строки.слаг(строка)

Преобразует строку в "слаг" — транслитерирует кириллицу, заменяет пробелы и недопустимые символы на дефис, приводит к нижнему регистру. Идеально для ЧПУ (человеко-понятных URL).

Возвращает: строка
Пример:
$slug = строки.слаг("WDSP 2.0 — Супер-язык!");  // "wdsp-2-0-super-yazyk"

 Полный тестовый скрипт

Ниже приведён полный скрипт, покрывающий все функции модуля «строки».

// string.wdsp - проверка модуля строки
вывод("=== Тест строковых функций ===\n");

$строка = "  Hello, World!  ";
$шаблон = "Hello";

// 1. длина
$результат = строки.длина($строка);
если ($результат == 17) {
    вывод("1. длина: OK (17)\n");
} иначе {
    вывод("1. длина: ошибка, получено " + строка($результат) + "\n");
}

// ... все остальные тесты из полного листинга ...

вывод("\n=== Все тесты успешно завершены ===\n");