Преобразование URL-адресов в ссылки в строке с помощью preg replace()


Я пытаюсь преобразовать URL-адреса в ссылки в строке

У меня есть следующая строка:

$x="Welcome to my [homepage](http://example.com) ,Please check our [About us](http://example.com/about-us) page for more info about this site.

Я хочу преобразовать все внутри [ и ] в Заголовок ссылки и все внутри (и ) в значение атрибута href:

Добро пожаловать на мою домашнюю страницу ,пожалуйста, проверьте нашу страницуО нас для получения дополнительной информации об этом сайте.

Я пробовалpreg_replace () функцию, но она не работает

$x="Welcome to my [homepage](http://example.com) ,Please check our [About us](http://example.com/about-us) page for more info about this site";

echo preg_replace("/[([^]+)](([^)]+))/i","<a href='$2'>$1</a>",$x);

Я получаю ту же строку в выводе :

Welcome to my [homepage](http://example.com) ,Please check our [About us](http://example.com/about-us) page for more info about this site.

Что-то не так с моим кодом?

Пожалуйста, помогите!

2 2

2 ответа:

Вы можете использовать следующее регулярное выражение как

echo preg_replace("/\[(.*?)\]\((.*?)\)/","<a href='$2'>$1</a>",$x);

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

$x = str_replace("[homepage]", "<a href='www.example.com/homepage'>homepage</a>", $x);