@rusgayfer

Как преобразовать текстовые ссылки вк в гиперссылки?

Получаю записи из вк API и там есть ссылки такого вида

[id+++|name] - для пользователей 
[club++++|name] - для групп и пабликов


Как сделать через preg_replace в обычные ссылки вида <a href="ссылка" target="_blank">текст</a>
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
riot26
@riot26
<:З )~~
<?php
$text = '
[Оля Старицына|id8888], [id555|Надежда Созыкина], [id665|Катя Иванова]
';

$re = '/\[((id|club)\d+)\|([^\]]+)\]/';
$replacement = '<a href="https://vk.com/$1" target="_blank">$3</a>';

$text = preg_replace($re, $replacement, $text);
echo $text;


Вывод:
[Оля Старицына|id8888], <a href="https://vk.com/id555" target="_blank">Надежда Созыкина</a>, <a href="https://vk.com/id665" target="_blank">Катя Иванова</a>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gromdron
@gromdron
Bitrix developer
Я перепутал что-то или это то что вы хотели?

$regex = "#\[id([0-9]+)\|([^\]]+)\]#";
$testString = 'Как же хорого побывать в группе [id123|Привет Мир!]';

// Напечатает: Как же хорого побывать в группе <a href="123" target="_blank">Привет Мир!</a>
echo preg_replace($regex, '<a href="$1" target="_blank">$2</a>', $testString);
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Duotek Москва
До 120 000 руб.
от 2 000 до 4 000 usd.
Вебформат Екатеринбург
от 40 000 до 80 000 руб.
21 авг. 2018, в 16:11
1500 руб./за проект
21 авг. 2018, в 15:45
4000 руб./за проект
21 авг. 2018, в 15:42
2500 руб./за проект