Skip to content Skip to sidebar Skip to footer

How Insert Raw Html To Label?

Is there some easy way how put raw HTML tag to label? I have this: {{ Form::label('firstName', 'First name *', array('class' => 'input_tag')) }} and it pro

Solution 1:

use HTML::decode():

{!! HTML::decode(Form::label('firstName', 'First name <em>*</em>', array('class' => 'input_tag'))) !!}

Solution 2:

Using sprintf in a macro is much faster than redecoding:

Form::macro('rawLabel', function($name, $value = null, $options = array())
{
    $label = Form::label($name, '%s', $options);

    return sprintf($label, $value);
});

Solution 3:

You can create a helper function (macro) just like:

HTML::macro('raw', function($htmlbuilder) {
   return htmlspecialchars_decode($htmlbuilder);
});

in your view:

{{ HTML::raw(Form::label('input_firstname', 'Prénom <sup>*</sup>')) }}

Solution 4:

I often use raw html for form input and labels as I find it easier to read and use html5 attributes such as required and placeholder. This form is a good example of how to use raw html with Input::old which allows you to capture old input. https://github.com/Zizaco/confide/blob/master/src/views/login.blade.php

Solution 5:

For required inputs, instead of trying to add HTML into the label, I add a class, 'required-input' (or something).

Then I have the following CSS rule

label.required-input:before {
    content: ' * ';
    color: #f00;
}

This would work unless you are needing to have the <em>*</em> for screen readers. But you can still add the required flag on the input.

Post a Comment for "How Insert Raw Html To Label?"