Как заменить текст на ссылку?

В переменной $text лежит строка с текстом вида:
Основателем социальной сети ВКонтакте был [id1|Павел Дуров]

Как можно сделать, что бы при выводе [id1|Павел Дуров] заменялось на реальную ссылку и строка имела вид:
Основателем социальной сети ВКонтакте был <a href="http://vk.com/id1"target="_blank">Павел Дуров</a>
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 1
Immortal_pony
@Immortal_pony Куратор тега PHP
$str = "Основателем социальной сети ВКонтакте был [id1|Павел Дуров]";
if (preg_match_all("/\[.*\]/m", $str, $matches)) {
    foreach ($matches[0] as $match) {
        list($id, $name) = explode("|", substr($match, 1, -1));
        $link = "<a href='http://vk.com/{$id}' target='_blank'>{$name}</a>"; 
        var_dump($link);
    }
}
Ответ написан
Ваш ответ на вопрос

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

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