?>

How to convert inactive links in the text to active (clickable)?

How to convert inactive links in the text to active (clickable)?

A very frequent task in order to provide your users with high-quality and convenient site functionality is the conversion of links in plain text or html. After all, when you give your users something to write independently on the site (for example, comments), then of course you try to protect them from html code. But if they do not use it, then they cannot select links according to the html rules. And it needs to be done for them.

For projects on the yii2 framework, I wrote a small extension: 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>

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