Как правильно передать ссылку?

202
20 апреля 2018, 14:45

В базе хранится поле link (string(2048)).
Во view добавляю link в тег а.

Html::a(ссылка, $myObject->link, ['target'=>'_blank'])

Проблема:
Если вставлять ссылку такого вида:
https://stackoverflow.com/
то ссылка откроет сайт "stackoverflow.com", а если вставить в таком виде: stackoverflow.com то открывает https://my-domain.loca/stackoverflow.com

Подскажите, пожалуйста, как сделать так, чтобы вне зависимости от вида ссылки открывались сайты(хоть и не правильные) без моего домена?

Answer 1

Возможно вам мог бы подойти вариант с условием. Например:

Html::a(ссылка, 
(stristr($myObject->link, 'http') ? $myObject->link : 'https://'.$myObject->link),
['target'=>'_blank']);

Если у вас в ссылке есть http, то она подставится в таком виде, в каком есть, а если нет, то она конкатенируется с https:// (замените на http:// если вам это важно) и все равно будет иметь вид https://link-to-somewhere.com

READ ALSO
Сохранение файла PHP

Сохранение файла PHP

Создается XML файл, который с сохраняется в папку filesПосле создания появляется ссылка на скачивание

219
PHP парсинг сайта сбербанка [требует правки]

PHP парсинг сайта сбербанка [требует правки]

Здравствуйте, нужно спарсить данный сайт http://wwwsberbank-ast

205
Как описать переменную в preg_replace_callback?

Как описать переменную в preg_replace_callback?

Изначально использовал preg_replace, но с апдейтом php пришлось перейти на preg_replace_callbackСоответственно возникла проблема, в preg_replace можно было без...

167
Логика без использования редиректа

Логика без использования редиректа

Какие есть способы реализации открытия поста без использования редиректа? Идея заключается в следующем: Категория -> Сабкатегория (если...

154