Str_ireplace() - могу ли я заменить строку?

У меня есть следующие строки.

$string = "Welcome to Lorien.";
$search = "welcome";

Теперь я хочу искать $search в $string и игнорировать регистр, поэтому:

$result = str_ireplace($search,  '<b>'.$search.'</b>' ,$string);

$result должно выглядеть так: Добро пожаловать Лориен.

Есть ли способ, которым я могу использовать случай $string, чтобы он выглядел так: Добро пожаловать для Лориен.

Как получить часть строки, которая заменяется, и использовать ее?

ваш ожидаемый результат точно такой же, как и ввод, который вы предоставили. Так что я смущен, что вы пытаетесь сделать?

Anant Kumar Singh 02.04.2019 11:39

Вместо этого используйте preg_replace.

revo 02.04.2019 11:42
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
2
69
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать preg_replace() для этого:

$string = "Welcome to Lorien.";
$search = "welcome";

$result = preg_replace("/{$search}/i", '<b>$0</b>', $string);
  • Флаг /i делает совпадение нечувствительным к регистру.
  • $0 будет заменен соответствующей строкой из исходной строки, поэтому регистр всегда будет правильным.

Демо: https://3v4l.org/vN9Km

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

Если это так, вот что нужно сделать.

<?php

$string = "Welcome to Lorien.";
$search = "welcome";

echo str_ireplace($search, '<b>'.ucwords($search).'</b>', $string);
// Outputs: <b>Welcome</b> to Lorien.

Пример: https://3v4l.org/Gmsqp

Другие вопросы по теме