Avatar ·

Как работать со строками в PHP?

Всем привет! Я новичок в PHP и столкнулся с проблемой при работе со строками. Мне нужно выполнить несколько операций: обрезать пробелы, заменить подстроку и проверить, содержит ли строка определённое слово. Я пробовал использовать функции trim(), str_replace() и strpos(), но результаты не соответствуют ожиданиям.

Вот пример моего кода:

$string = '  Привет, мир! Это тестовая строка.  ';
$trimmed = trim($string);
echo $trimmed; // Выводит 'Привет, мир! Это тестовая строка.'

$replaced = str_replace('мир', 'PHP', $trimmed);
echo $replaced; // Выводит 'Привет, PHP! Это тестовая строка.'

$position = strpos($replaced, 'тестовая');
if ($position !== false) {
    echo 'Слово найдено на позиции ' . $position;
} else {
    echo 'Слово не найдено';
}
// Ожидаю: 'Слово найдено на позиции 14' (после замены)
// Получаю: 'Слово найдено на позиции 0'

Проблема в том, что strpos() возвращает 0, хотя слово 'тестовая' явно есть в строке после замены. Я читал, что strpos может возвращать false или 0, но здесь слово точно присутствует. Что я делаю не так? Может, нужно использовать mb_strpos() для кириллицы? Или есть более правильный способ проверки наличия подстроки? Буду благодарен за советы и примеры.