我正在尝试使用Laravel 4的HTML帮助程序创建一个图像链接。但它似乎并没有真正起作用。我有这行代码
{{ HTML::link("#", HTML::image("img/logo.png", "Logo") ) }}
但这只是输出一个像这样的strin:
<img src="http://localhost/worker/public/img/logo" alt="Logo">
怎么回事。??
答案 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="#"><img src="http://localhost/img/logo.png" alt="Logo"></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']);