2013-11-07 3 views
0

Я работаю с Laravel 4. Я хочу использовать HTML::linkAction, чтобы предоставить ссылку, встроенную в изображение.

прототип метода заключается в следующем:

linkRoute(string $name, string $title = null, array $parameters = array(), array $attributes = array())

Затем я использую метод изображения, чтобы получить мой <img></img> код:

HTML::linkAction('[email protected]', HTML::image('images/contact.png', 'contact'));

Он работает почти нормально. Проблема в том, что код <img></img> отформатирован как htmlspecialchars() do.

Есть ли способ разрешить HTML-код в параметрах или деактивировать htmlspecialchars fonctionality? Или, может быть, это плохая практика?

Спасибо, Рафаель Н.

ответ

1

Вы не можете передавать HTML для linkAction(), потому что он внутренне называет:

$this->entities() 

Вот код для link(), которым используется linkAction():

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>'; 
} 

И нет никаких вариантов сделать это по-другому.

Так что если вам нужно пройти изображение, вам нужно будет написать HTML для этой конкретной ссылки.

+0

Я удивлен, что HTML-объект Laravel не предоставляет способ сделать это. Спасибо, – Fractaliste

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