Mercurial > hg > isophonics-drupal-site
annotate core/lib/Drupal/Component/Render/HtmlEscapedText.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 129ea1e6d783 |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 namespace Drupal\Component\Render; |
Chris@0 | 4 |
Chris@0 | 5 use Drupal\Component\Utility\Html; |
Chris@0 | 6 use Drupal\Component\Utility\Unicode; |
Chris@0 | 7 |
Chris@0 | 8 /** |
Chris@0 | 9 * Escapes HTML syntax characters to HTML entities for display in markup. |
Chris@0 | 10 * |
Chris@0 | 11 * This class can be used to provide theme engine-like late escaping |
Chris@0 | 12 * functionality. |
Chris@0 | 13 * |
Chris@0 | 14 * @ingroup sanitization |
Chris@0 | 15 */ |
Chris@0 | 16 class HtmlEscapedText implements MarkupInterface, \Countable { |
Chris@0 | 17 |
Chris@0 | 18 /** |
Chris@0 | 19 * The string to escape. |
Chris@0 | 20 * |
Chris@0 | 21 * @var string |
Chris@0 | 22 */ |
Chris@0 | 23 protected $string; |
Chris@0 | 24 |
Chris@0 | 25 /** |
Chris@0 | 26 * Constructs an HtmlEscapedText object. |
Chris@0 | 27 * |
Chris@0 | 28 * @param $string |
Chris@0 | 29 * The string to escape. This value will be cast to a string. |
Chris@0 | 30 */ |
Chris@0 | 31 public function __construct($string) { |
Chris@0 | 32 $this->string = (string) $string; |
Chris@0 | 33 } |
Chris@0 | 34 |
Chris@0 | 35 /** |
Chris@0 | 36 * {@inheritdoc} |
Chris@0 | 37 */ |
Chris@0 | 38 public function __toString() { |
Chris@0 | 39 return Html::escape($this->string); |
Chris@0 | 40 } |
Chris@0 | 41 |
Chris@0 | 42 /** |
Chris@0 | 43 * {@inheritdoc} |
Chris@0 | 44 */ |
Chris@0 | 45 public function count() { |
Chris@0 | 46 return Unicode::strlen($this->string); |
Chris@0 | 47 } |
Chris@0 | 48 |
Chris@0 | 49 /** |
Chris@0 | 50 * {@inheritdoc} |
Chris@0 | 51 */ |
Chris@0 | 52 public function jsonSerialize() { |
Chris@0 | 53 return $this->__toString(); |
Chris@0 | 54 } |
Chris@0 | 55 |
Chris@0 | 56 } |