使用HTML Helper创建图像链接

时间:2013-09-25 14:41:32

标签: image laravel anchor laravel-4 html-helper

我正在尝试使用Laravel 4的HTML帮助程序创建一个图像链接。但它似乎并没有真正起作用。我有这行代码

{{ HTML::link("#", HTML::image("img/logo.png", "Logo") ) }}

但这只是输出一个像这样的strin:

<img src="http://localhost/worker/public/img/logo" alt="Logo">

怎么回事。??

6 个答案:

答案 0 :(得分:34)

我认为没有理由这样做太过分了。 我愿意:

<a href="#"><img src={{asset('img/logo.png')}} alt="Logo"></a>

如果我需要一个动态链接代替#,我会这样做:

<a href="{{URL::to('/')}}"><img src={{asset('img/logo.png')}} alt="Logo"></a>

尽可能多地使用html。

答案 1 :(得分:13)

您可能需要:

<a href="#">{{ HTML::image("img/logo.png", "Logo") }}</a>

因为,link()使用实体来转义标题:

public function link($url, $title = null, $attributes = array(), $secure = null)
{
    $url = $this->url->to($url, array(), $secure);

    if (is_null($title) or $title === false) $title = $url;

    return '<a href="'.$url.'"'.$this->attributes($attributes).'>'.$this->entities($title).'</a>';
}

制作此源代码:

"<a href="#">&lt;img src=&quot;http://localhost/img/logo.png&quot; alt=&quot;Logo&quot;&gt;</a>"

答案 2 :(得分:7)

您还可以使用html_entity_decode来使代码正常工作

{{ html_entity_decode( HTML::link("#", HTML::image("img/logo.png", "Logo") ) ) }}

答案 3 :(得分:3)

HTML帮助程序已从Laravel 5中删除

现在你可以简单地使用这个

<img src="{{ asset('logo.png') }}" alt="logo">

默认情况下,此资产指向幼虫应用程序的公用文件夹

答案 4 :(得分:0)

除了正确答案之外,您还可以添加一些属性,例如高度宽度

<a href="#">{{ HTML::image("img/logo.png", "Logo",array('height'=>'100','width'=>'100')) }}</a>

答案 5 :(得分:0)

\Html::tag('a', \Html::image('image path')->toHtml(), ['href' => 'link']);