2015-09-10 2 views
1

у меня есть это:HTML :: ссылка не указывает на правильный вебсайт

{!! HTML::link($item->website, $item->website) !!} 

$item->website является веб-сайт вставляется пользователем. Но, если пользователь вставляет что-то вроде www.mysite.com, результат localhost:8000/www.mysite.com Если в базе данных я положил http:// перед веб-сайтом, я получаю правильный результат. Есть ли другой способ, чем HTML::link, чтобы правильно показать ссылки?

Спасибо.

ответ

1

Вы должны передать полный URL-адрес в HTML :: link(); метод, иначе Laravel автоматически добавит URL-адрес с вашим локальным корнем веб-сайта. В вашем случае вам нужно добавить http: // в свою переменную и передать весь URL-адрес методу link();

Проверить эту ссылку;) http://laravel-recipes.com/recipes/186/generating-a-html-link

0

Url должен начинаться с "HTTP: //". Если пользовательский ввод не начинается с него, вам нужно добавить.

+0

Благодарим вас за ответы ... У меня есть дополнительная работа в любом случае – Texas

1

HTML::link() ожидает, что первым параметром будет относительный путь на текущем сайте или fully qualified domain name. Вам нужно проверить, начинается ли $item->website с "http", а если нет, добавьте его в строку.

<?php $prepend = (strpos($this->website, "http") === 0) ? "" : "http://"; ?> 

{!! HTML::link($prepend.$this->website, $this->website) !!} 

Обратите внимание, что я проверяю для "http" вместо "http://". Это позволяет работать и с веб-сайтами "https".

Смежные вопросы