<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

Этот курс научит Вас созданию самых разных сайтов на самой популярной в мире CMS - WordPress. Вы увидите установку и настройку локального сервера, разбор каждой настройки, каждой кнопки и каждого пункта меню в панели WordPress.

Также Вы получите и всю практику, поскольку прямо в курсе с нуля создаётся полноценный Интернет-магазин, который затем публикуется в Интернете. И всё это прямо на Ваших глазах.

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Строки в PHP: функции, UTF-8 и практические приёмы для новичков

Строки в PHP: функции, UTF-8 и практические приёмы для новичков

Если вы ищете понятное руководство по запросу строки в PHP, начните с главного: строка — это последовательность байтов, а не «магический» текстовый объект. Поэтому при работе с русским языком и эмодзи важно помнить про кодировку UTF-8 и использовать правильные функции. Ниже — практические примеры, которые помогут уверенно обрабатывать строки в PHP 8.

Создание строк: одинарные и двойные кавычки

В PHP строку можно записать в одинарных или двойных кавычках. В одинарных кавычках переменные не подставляются, а в двойных — подставляются.

<?php
$name = 'Анна';

echo 'Привет, $name'; // Привет, $name
echo "Привет, $name"; // Привет, Анна

Для простых текстов без переменных чаще выбирайте одинарные кавычки: так код чуть проще читать. Если нужна интерполяция переменных — используйте двойные.

Конкатенация строк

Для склеивания строк применяется оператор .. Это одна из базовых операций, которую нужно хорошо знать.

<?php
$firstName = 'Иван';
$lastName = 'Петров';

$fullName = $firstName . ' ' . $lastName;
echo $fullName; // Иван Петров

Если строка становится слишком длинной, лучше разбить её на несколько частей или использовать шаблон. Не превращайте HTML-разметку в огромную строку из десятков конкатенаций.

Длина строки: strlen или mb_strlen?

Одна из самых частых ошибок новичков — использовать strlen() для кириллицы. Эта функция считает байты, а не символы. Для UTF-8 используйте mb_strlen().

<?php
$text = 'Привет';

echo strlen($text);    // 12, потому что кириллица в UTF-8 занимает больше 1 байта
echo mb_strlen($text); // 6

Если mb_strlen() недоступна, проверьте, включено ли расширение mbstring. В современных PHP-проектах оно практически обязательно.

Обрезка пробелов: trim, ltrim и rtrim

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

<?php
$email = '  user@example.com  ';
$email = trim($email);

echo $email; // user@example.com
  • trim() удаляет символы с обеих сторон;
  • ltrim() — только слева;
  • rtrim() — только справа.

Важно: trim() не делает строку безопасной для вывода в HTML и не проверяет корректность email. Это просто очистка краёв строки.

Проверка подстроки: str_contains, str_starts_with, str_ends_with

В PHP 8 появились удобные функции для проверки строк. Они делают код понятнее, чем старые проверки через strpos().

<?php
$url = 'https://example.com/catalog';

if (str_starts_with($url, 'https://')) {
    echo 'Безопасный протокол';
}

if (str_contains($url, 'catalog')) {
    echo 'Это страница каталога';
}

if (str_ends_with($url, '/catalog')) {
    echo 'URL заканчивается на /catalog';
}

Эти функции чувствительны к регистру. Если нужно сравнение без учёта регистра, предварительно приведите строки к одному регистру.

Регистр строк и UTF-8

Для английского текста подойдут strtolower() и strtoupper(), но для русского языка лучше использовать функции mb_strtolower() и mb_strtoupper().

<?php
$title = 'PHP ДЛЯ НАЧИНАЮЩИХ';

echo mb_strtolower($title); // php для начинающих

Если вы делаете поиск по названию товара или статьи, нормализуйте обе строки одинаково: например, обрежьте пробелы и приведите к нижнему регистру.

<?php
$query = mb_strtolower(trim('  Ноутбук  '));
$product = mb_strtolower('Игровой ноутбук');

if (str_contains($product, $query)) {
    echo 'Товар найден';
}

Разбиение и сборка строк: explode и implode

explode() разбивает строку на массив, а implode() собирает массив обратно в строку. Это удобно для тегов, CSV-подобных значений, списков и простых настроек.

<?php
$tagsString = 'php, mysql, backend';
$tags = explode(',', $tagsString);

$cleanTags = [];
foreach ($tags as $tag) {
    $cleanTags[] = trim($tag);
}

echo implode(' | ', $cleanTags); // php | mysql | backend

Совет: после explode() часто нужно пройтись по элементам и применить trim(), иначе в массиве останутся лишние пробелы.

Замена текста: str_replace

Для простой замены используйте str_replace(). Она быстрее и понятнее, когда не нужны сложные шаблоны.

<?php
$phone = '+7 (999) 123-45-67';
$normalized = str_replace([' ', '(', ')', '-'], '', $phone);

echo $normalized; // +79991234567

Так можно подготовить телефон к хранению или сравнению. Но для серьёзной валидации номера лучше использовать специализированные правила или библиотеку.

Безопасный вывод строк в HTML

Строки, полученные от пользователя, нельзя просто выводить на страницу. Это может привести к XSS-уязвимости. Для HTML-вывода используйте htmlspecialchars().

<?php
$comment = '<script>alert("XSS")</script>';

echo htmlspecialchars($comment, ENT_QUOTES, 'UTF-8');

Правило простое: данные очищайте по смыслу, а экранируйте там, где выводите. Для HTML — htmlspecialchars(), для SQL — подготовленные запросы, для URL — функции кодирования URL.

Практический пример: подготовка заголовка статьи

Соберём небольшую функцию, которая принимает заголовок, убирает лишние пробелы, ограничивает длину и безопасно выводит результат.

<?php
function prepareTitle(string $title, int $maxLength = 60): string
{
    $title = trim($title);

    while (str_contains($title, '  ')) {
        $title = str_replace('  ', ' ', $title);
    }

    if (mb_strlen($title) > $maxLength) {
        $title = mb_substr($title, 0, $maxLength - 1) . '…';
    }

    return htmlspecialchars($title, ENT_QUOTES, 'UTF-8');
}

echo prepareTitle('   Строки   в PHP:   полезные функции для новичков   ');

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

Частые ошибки при работе со строками в PHP

  • Использовать strlen() и substr() для UTF-8-текста на русском языке.
  • Забывать trim() при обработке данных из форм.
  • Выводить пользовательские строки без htmlspecialchars().
  • Сравнивать строки без нормализации регистра и пробелов.
  • Использовать сложные регулярные выражения там, где достаточно str_replace() или explode().

Что учить дальше

После базовых функций строк стоит разобраться с массивами, формами, безопасностью, базами данных и архитектурой простых PHP-приложений. Если хотите пройти этот путь последовательно и с практикой, посмотрите курс «PHP и MySQL с Нуля до Гуру 3.0» — понятный маршрут от основ PHP до работы с MySQL.

Итоги

Работа со строками в PHP — фундаментальный навык. Запомните базовый набор: trim(), mb_strlen(), mb_substr(), str_contains(), explode(), implode(), str_replace() и htmlspecialchars(). Этого уже достаточно, чтобы аккуратно обрабатывать пользовательский ввод, готовить текст к выводу и избегать типичных ошибок новичков.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.