[ Index ]

PHP Cross Reference of phpBB-3.3.14-deutsch

title

Body

[close]

/vendor/s9e/text-formatter/src/Plugins/HTMLEntities/ -> Parser.php (source)

   1  <?php
   2  
   3  /**
   4  * @package   s9e\TextFormatter
   5  * @copyright Copyright (c) 2010-2022 The s9e authors
   6  * @license   http://www.opensource.org/licenses/mit-license.php The MIT License
   7  */
   8  namespace s9e\TextFormatter\Plugins\HTMLEntities;
   9  
  10  use s9e\TextFormatter\Plugins\ParserBase;
  11  
  12  class Parser extends ParserBase
  13  {
  14      /**
  15      * {@inheritdoc}
  16      */
  17  	public function parse($text, array $matches)
  18      {
  19          $tagName  = $this->config['tagName'];
  20          $attrName = $this->config['attrName'];
  21  
  22          foreach ($matches as $m)
  23          {
  24              $entity = $m[0][0];
  25              $chr    = html_entity_decode($entity, ENT_HTML5 | ENT_QUOTES, 'UTF-8');
  26  
  27              if ($chr === $entity || ord($chr) < 32)
  28              {
  29                  // If the entity was not decoded, we assume it's not valid and we ignore it.
  30                  // Same thing if it's a control character
  31                  continue;
  32              }
  33  
  34              $this->parser->addSelfClosingTag($tagName, $m[0][1], strlen($entity))->setAttribute($attrName, $chr);
  35          }
  36      }
  37  }


Generated: Mon Nov 25 19:05:08 2024 Cross-referenced by PHPXref 0.7.1