Помогите составить регулярное выражения для замены тега на ссылку с сохранением информации в теле тега. Есть строчка
Неизменная потертая соломенная шляпа, подаренная ему [character=727]Шанксом[/character], которую он, в свою очередь, получил от [character=4883]Роджера[/character]
Нужно привести строчку в такой вид
Неизменная потертая соломенная шляпа, подаренная ему <a href="https://сайт.ру/character/Шанксом/727/">Шанксом</a>, которую он, в свою очередь, получил от <a href="https://сайт.ру/character/Роджера/4883/">Роджера</a>
Пробую так, получается белиберда на выходе
$description = preg_replace("/[character=[0-9]](.*?)[\/character]/Usi",
'<a href=\"https://сайт.ру/character/\"$2\"/\"$1\"/\">$2<\/a>',$description);
preg_replace(';\[character=(\d+)\](.+?)\[/character\];i',
'<a href="https://сайт.ру/character/$2/$1/">$2</a>', $description);
https://regex101.com/r/loAkHN/2
Чтобы применять обратные слэши по минимуму (для экранирования), используются одинарные кавычки — внутри них не работают спец. последовательности, и таким образом мы можем спокойно записать обратный слэш в строку. Кроме того, в качестве ограничителей регулярки применяются точки с запятой по краям. Единственное, что пришлось заэкранировать, — квадратные скобки, чтобы движок регулярных выражений PCRE не воспринимал бы их как группу символов.
Ещё вариант:
$string = 'Неизменная потертая соломенная шляпа, подаренная ему [character=727]Шанксом[/character], которую он, в свою очередь, получил от [character=4883]Роджера[/character]';
$pattern = '~\[(character)=(\d+)](\w+)\[/\1]~u';
$replace = '<a href="https://сайт.ру/$1/$3/$2/">$3</a>';
echo preg_replace($pattern, $replace, $string);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте, столкнулся с такой проблемой, ошибка 500 на страницах категорий и товаров, на остальных страницах проблема не наблюдается, как...
разбираясь с API IPFS, захотелось написать свои шорткаты для PHP с использованием cURL, однако, до сих пор не могу совладать с /add