Задать вопрос
JackShcherbakov
@JackShcherbakov

Как заменить все вхождения в строке на другую строку, содержащую это вхождение при помощи regex'ов?

Например:
регулярное выражение - [*&%]
строка - Какая-то * строка % и что-то еще &
шаблон замены вхождения - вхождение

результат:
Какая-то <b>*</b> строка <b>%</b> и что-то еще <b>&</b>
  • Вопрос задан
  • 243 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
lidacriss
@lidacriss
wtf
$str = 'Какая-то * строка % и что-то еще &. Какие-то другие вхождения';
$str_new = preg_replace('#(?<=[,.\s]|^)(вхождения|[*%&]|другие|слова)(?=[,.\s]|$)#isu', '<b>$1</b>', $str);
echo $str_new;
// Какая-то <b>*</b> строка <b>%</b> и что-то еще <b>&</b>. Какие-то <b>другие</b> <b>вхождения</b>

Ваши "вхождения" могут быть внутри слова или только между пробелов и тд?
Ответ написан
Комментировать
xpert13
@xpert13
Full Stack Developer
preg_replace('/([\*&%]+)/', "<b>$1</b>", $text);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы