← Назад к вопросам

Какие основные строковые функции есть в PHP?

1.3 Junior🔥 251 комментариев
#PHP Core

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI7 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Основные строковые функции в PHP

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

1. Функции для получения информации о строке

Эти функции позволяют анализировать строку без её изменения.

  • strlen($string) — возвращает длину строки (число байтов). Для многобайтовых строк (UTF-8) следует использовать mb_strlen().
  • strpos($haystack, $needle) и strrpos() — поиск первого и последнего положения подстроки $needle в строке $haystack. Возвращают числовой индекс или false.
$text = "Hello World";
echo strpos($text, "World"); // Выведет: 6
  • substr($string, $start, $length) — возвращает часть строки, начинающуюся с позиции $start и длиной $length.
  • str_word_count($string) — подсчитывает количество слов в строке.

2. Функции для преобразования и манипуляции

Функции для изменения содержимого или формата строки.

  • strtolower($string) и strtoupper($string) — преобразуют строку к нижнему или верхнему регистру. Для UTF-8 — mb_strtolower() и mb_strtoupper().
  • ucfirst($string) и ucwords($string) — делают первый символ строки или каждого слова заглавным.
  • trim($string), ltrim(), rtrim() — удаляют пробелы и другие символы с начала, конца или обоих сторон строки.
  • str_replace($search, $replace, $subject) — заменяет все вхождения строки $search на $replace в строке $subject. Может работать с массивами.
$text = "Привет, имя!";
echo str_replace("имя", "Алексей", $text); // Привет, Алексей!
  • substr_replace($string, $replacement, $start, $length) — заменяет часть строки, заданную параметрами.

3. Функции для сравнения и анализа

Сравнение строк и проверка их свойств.

  • strcmp($str1, $str2) и strcasecmp() — сравнивают две строки бинарно (с учётом регистра и без). Возвращают 0 при равенстве, отрицательное или положительное число при различии.
  • strstr($haystack, $needle) — возвращает часть строки $haystack от первого найденного $needle до конца.
  • str_starts_with($haystack, $needle) и str_ends_with() (с PHP 8.0) — проверяют, начинается или заканчивается строка заданной подстрокой. Возвращают true/false.
if (str_starts_with("https://site.com", "https")) {
    echo "Безопасный протокол.";
}

4. Функции для разбиения и объединения

Работа с массивами и составными строками.

  • explode($delimiter, $string) — разбивает строку по разделителю $delimiter и возвращает массив частей.
  • implode($glue, $array) (или join()) — объединяет элементы массива в строку, используя $glue как соединитель.
$array = ['apple', 'banana', 'orange'];
echo implode(", ", $array); // apple, banana, orange
  • str_split($string, $length) — разбивает строку на массив частей заданной длины.

5. Специальные функции для форматирования и кодирования

Функции для специфических задач.

  • htmlspecialchars($string) — преобразует специальные HTML-символы (<, >, &, ", ') в их HTML-сущности. Критически важна для безопасности при выводе пользовательских данных, предотвращает XSS-атаки.
  • strip_tags($string) — удаляет HTML и PHP-теги из строки.
  • md5($string), sha1($string) — вычисляют хэш строки (для криптографических задач используются более современные функции, например hash()).
  • json_encode($value) и json_decode($string) — преобразуют данные в JSON-формат и обратно.
  • urlencode($string) и urldecode($string) — кодируют и декодируют строки для передачи в URL.

6. Многобайтовые функции (mb_*)

Для корректной работы с символами в кодировках, где символ может занимать несколько байтов (например, UTF-8), необходимо использовать функции из расширения Multibyte String (mbstring). Они аналогичны обычным функциям, но учитывают многобайтовость:

  • mb_strlen(), mb_strpos(), mb_substr(), mb_strtolower() и многие другие.

Выбор функции зависит от конкретной задачи. Важно помнить о безопасности (использовать htmlspecialchars()), кодировке (использовать mb_* для UTF-8) и версии PHP (новые функции, такие как str_starts_with, доступны только с PHP 8.0). Этот набор функций позволяет эффективно обрабатывать текстовые данные — от валидации форм и подготовки контента для вывода до сложной логики парсинга и трансформации.

Какие основные строковые функции есть в PHP? | PrepBro