?>

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

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

Очень частой задачей, для того чтобы предоставить вашим пользователям качественный и удобный функционал сайта, является преобразование ссылок в обычном тексте или html. Ведь, когда вы даете своим пользователям, что либо писать самостоятельно на сайте (например комментарии), то конечно же стараетесь их оградить от html кода. Но если они не используют его, то они не могут по правилам html выделять ссылки. И это нужно делать за них.

Для проектов на yii2 framework я написал небольшое расширение: https://cms.skeeks.com/marketplace/components/tools/other/396-preobrazovanie-neaktivnyh-ssylok-v-tekste

Видео:

Скриншот:

Небольшое описание:

Для преобразования ссылок в тексте, используются регулярные выражения. Если погуглить на эту тему то появится множество ссылок на различные ресурсы, где обсуждают подобные регулярные выражения.

Вот некоторые, которыми воспользовался я для написания своего расширения:

Воспользоваться им достаточно просто. Представьте что у вас есть какой то текст на странице, обрамленный каким нибудь <div> с классмо .description

<div class="description">
Какой то текст со ссылками https://test.ru,
https://google.ru/search
Все ссылки будут автоматически https://cms.skeeks.com/blog/releases/2-zapusk-sayta-dlya-skeeks-cms определены в этом тексте и станут кликабельными
</div>

На этой же самой странице можно подключить вот такую конструкцию:

<?
\skeeks\yii2\linkActivation\assets\TextHandlerAsset::register($this);
$this->registerJs(<<<JS
new sx.classes.LinkActivation(".description");
JS
);
?>

Эта конструкция, подключит необходимые js файлы на страницу, и при помощи javascript этот текст будет преобризован в html со ссылками оформленными в виде html тегов <a>


Маркетплейс

Все комментарии (1)
Какой то текст со ссылками https://test.ru,
https://google.ru/search
Все ссылки будут автоматически https://cms.skeeks.com/blog/releases/2-zapusk-sayta-dlya-skeeks-cms определены в этом тексте и станут кликабельными