[ Index ]

PHP Cross Reference of phpBB-3.2.11-deutsch

title

Body

[close]

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

   1  <?php
   2  
   3  /*
   4  * @package   s9e\TextFormatter
   5  * @copyright Copyright (c) 2010-2019 The s9e Authors
   6  * @license   http://www.opensource.org/licenses/mit-license.php The MIT License
   7  */
   8  namespace s9e\TextFormatter\Plugins\Censor;
   9  use s9e\TextFormatter\Plugins\ParserBase;
  10  class Parser extends ParserBase
  11  {
  12  	public function parse($text, array $matches)
  13      {
  14          $tagName      = $this->config['tagName'];
  15          $attrName     = $this->config['attrName'];
  16          $replacements = (isset($this->config['replacements'])) ? $this->config['replacements'] : [];
  17          foreach ($matches as $m)
  18          {
  19              if ($this->isAllowed($m[0][0]))
  20                  continue;
  21              $tag = $this->parser->addSelfClosingTag($tagName, $m[0][1], \strlen($m[0][0]));
  22              foreach ($replacements as $_681051f1)
  23              {
  24                  list($regexp, $replacement) = $_681051f1;
  25                  if (\preg_match($regexp, $m[0][0]))
  26                  {
  27                      $tag->setAttribute($attrName, $replacement);
  28                      break;
  29                  }
  30              }
  31          }
  32      }
  33  	protected function isAllowed($word)
  34      {
  35          return (isset($this->config['allowed']) && \preg_match($this->config['allowed'], $word));
  36      }
  37  }


Generated: Wed Nov 11 20:33:01 2020 Cross-referenced by PHPXref 0.7.1