Как регуляркой PHP заменить строку вида {вариант}ов на <p>вариантов</p>

программирование регулярные выражения




Примечание:
с помощью функции preg_replace
может так:
$phrase = preg_replace("/\{(.+?)\}*/i", "/<p>${0}<\/p>", $text_code) ?

Примечание:
Спасибо triclozan!
пробую так:
$text_code = 'пять {вариант}ов ответа';
$phrase = preg_replace("/\{([^}]+)\}*/i ", "<p>${0}</p>", $text_code);
echo $phrase;
получается:
пять <p></p>ов ответа

а мне нужно:

пять <p>вариантов</p> ответа

Что делаю не так?

Примечание:
Извини, но всё равно выходит:
пять <p></p>ов ответа

Примечание:
Спасибо triclozan! Но лучший ответ у WidowMaker:
$phrase = preg_replace('/\{(.*)\}([^\s]*)/', '<p>$1$2</p>', 'пять {вариант}ов ответа', -1);
echo $phrase;
Результат:
пять <p>вариантов</p> ответа
Ответы:
скорее так, тогда будет захватывать то, что в фигурных скобках:
/\{([^}]+)\}*/i
Замени во втором аргументе {0} на 1
Код:
<?php
$text_code = 'пять {вариант}ов ответа';
$phrase = preg_replace("/\{([^}]+)\}*/i ", "<p>$1</p>", $text_code);
echo $phrase;
?>
$phrase = preg_replace('/\{(.*)\}([^\s]*)/', '<p>$1$2</p>', 'пять {вариант}ов ответа', -1);


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

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

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.