From f93dfccd21372bd963f6d3ea1da486731eba8b6a Mon Sep 17 00:00:00 2001 From: Chris How Date: Sun, 3 Feb 2013 19:15:55 +0100 Subject: [PATCH 1/2] HTML::entities() now optional on label contents --- laravel/form.php | 6 ++++-- laravel/tests/cases/form.test.php | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/laravel/form.php b/laravel/form.php index 5a450b52..d14cad69 100644 --- a/laravel/form.php +++ b/laravel/form.php @@ -182,13 +182,15 @@ class Form { * @param array $attributes * @return string */ - public static function label($name, $value, $attributes = array()) + public static function label($name, $value, $attributes = array(), $escape_html = true) { static::$labels[] = $name; $attributes = HTML::attributes($attributes); - $value = HTML::entities($value); + if ($escape_html) { + $value = HTML::entities($value); + } return ''; } diff --git a/laravel/tests/cases/form.test.php b/laravel/tests/cases/form.test.php index 5f6f7fa3..8791dfd1 100644 --- a/laravel/tests/cases/form.test.php +++ b/laravel/tests/cases/form.test.php @@ -111,9 +111,11 @@ class FormTest extends PHPUnit_Framework_TestCase { { $form1 = Form::label('foo', 'Foobar'); $form2 = Form::label('foo', 'Foobar', array('class' => 'control-label')); + $form3 = Form::label('foo', 'Foobar baz', null, false); $this->assertEquals('', $form1); $this->assertEquals('', $form2); + $this->assertEquals('', $form3); } /** From 87c588c6104a4e218db17f32958cf825361517b5 Mon Sep 17 00:00:00 2001 From: Chris How Date: Sun, 3 Feb 2013 19:34:13 +0100 Subject: [PATCH 2/2] Updated docs --- laravel/documentation/views/forms.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/laravel/documentation/views/forms.md b/laravel/documentation/views/forms.md index cee6287a..538fd935 100644 --- a/laravel/documentation/views/forms.md +++ b/laravel/documentation/views/forms.md @@ -83,6 +83,14 @@ Laravel provides an easy method of protecting your application from cross-site r echo Form::label('email', 'E-Mail Address', array('class' => 'awesome')); +#### Turning off HTML escaping of label contents: + + echo Form::label('confirm', 'Are you sure you want to proceed?', null, false); + +You can pass ```false``` as the optional fourth argument to disable automatic HTML escaping of the label content. + + + > **Note:** After creating a label, any form element you create with a name matching the label name will automatically receive an ID matching the label name as well.