Commit 6a699793 by Taylor Otwell

Merge pull request #1526 from TheShiftExchange/blade_e

Automatically apply entities to output using Blade
parents eb5d68f2 8fe61580
...@@ -197,6 +197,8 @@ class Blade { ...@@ -197,6 +197,8 @@ class Blade {
*/ */
protected static function compile_echos($value) protected static function compile_echos($value)
{ {
$value = preg_replace('/\{\{\{(.+?)\}\}\}/', '<?php echo HTML::entities($1); ?>', $value);
return preg_replace('/\{\{(.+?)\}\}/', '<?php echo $1; ?>', $value); return preg_replace('/\{\{(.+?)\}\}/', '<?php echo $1; ?>', $value);
} }
......
...@@ -13,9 +13,13 @@ class BladeTest extends PHPUnit_Framework_TestCase { ...@@ -13,9 +13,13 @@ class BladeTest extends PHPUnit_Framework_TestCase {
{ {
$blade1 = '{{$a}}'; $blade1 = '{{$a}}';
$blade2 = '{{e($a)}}'; $blade2 = '{{e($a)}}';
$blade3 = '{{{$a}}}';
$blade4 = '{{{e($a)}}}';
$this->assertEquals('<?php echo $a; ?>', Blade::compile_string($blade1)); $this->assertEquals('<?php echo $a; ?>', Blade::compile_string($blade1));
$this->assertEquals('<?php echo e($a); ?>', Blade::compile_string($blade2)); $this->assertEquals('<?php echo e($a); ?>', Blade::compile_string($blade2));
$this->assertEquals('<?php echo HTML::entities($a); ?>', Blade::compile_string($blade3));
$this->assertEquals('<?php echo HTML::entities(e($a)); ?>', Blade::compile_string($blade4));
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment