[ Index ] |
PHP Cross Reference of phpBB-3.3.14-deutsch |
[Summary view] [Print] [Text view]
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\Censor; 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 $replacements = $this->config['replacements'] ?? []; 22 foreach ($matches as $m) 23 { 24 if ($this->isAllowed($m[0][0])) 25 { 26 continue; 27 } 28 29 $tag = $this->parser->addSelfClosingTag($tagName, $m[0][1], strlen($m[0][0])); 30 foreach ($replacements as list($regexp, $replacement)) 31 { 32 if (preg_match($regexp, $m[0][0])) 33 { 34 $tag->setAttribute($attrName, $replacement); 35 break; 36 } 37 } 38 } 39 } 40 41 /** 42 * Test whether given word is allowed 43 * 44 * @param string $word 45 * @return bool 46 */ 47 protected function isAllowed($word) 48 { 49 return (isset($this->config['allowed']) && preg_match($this->config['allowed'], $word)); 50 } 51 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Mon Nov 25 19:05:08 2024 | Cross-referenced by PHPXref 0.7.1 |