| 1 | <?php
 | 
  
    | 2 | 
 | 
  
    | 3 | /*
 | 
  
    | 4 |  * This file is part of Twig.
 | 
  
    | 5 |  *
 | 
  
    | 6 |  * (c) 2010 Fabien Potencier
 | 
  
    | 7 |  *
 | 
  
    | 8 |  * For the full copyright and license information, please view the LICENSE
 | 
  
    | 9 |  * file that was distributed with this source code.
 | 
  
    | 10 |  */
 | 
  
    | 11 | 
 | 
  
    | 12 | /**
 | 
  
    | 13 |  * Marks a content as safe.
 | 
  
    | 14 |  *
 | 
  
    | 15 |  * @package    twig
 | 
  
    | 16 |  * @author     Fabien Potencier <fabien@symfony.com>
 | 
  
    | 17 |  */
 | 
  
    | 18 | class Twig_Markup implements Countable
 | 
  
    | 19 | {
 | 
  
    | 20 |     protected $content;
 | 
  
    | 21 |     protected $charset;
 | 
  
    | 22 | 
 | 
  
    | 23 |     public function __construct($content, $charset)
 | 
  
    | 24 |     {
 | 
  
    | 25 |         $this->content = (string) $content;
 | 
  
    | 26 |         $this->charset = $charset;
 | 
  
    | 27 |     }
 | 
  
    | 28 | 
 | 
  
    | 29 |     public function __toString()
 | 
  
    | 30 |     {
 | 
  
    | 31 |         return $this->content;
 | 
  
    | 32 |     }
 | 
  
    | 33 | 
 | 
  
    | 34 |     public function count()
 | 
  
    | 35 |     {
 | 
  
    | 36 |         return function_exists('mb_get_info') ? mb_strlen($this->content, $this->charset) : strlen($this->content);
 | 
  
    | 37 |     }
 | 
  
    | 38 | }
 |