Verzeichnisstruktur phpBB-3.3.15
- Veröffentlicht
- 28.08.2024
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
Parser.php
01 <?php
02
03 /**
04 * @package s9e\TextFormatter
05 * @copyright Copyright (c) 2010-2022 The s9e authors
06 * @license http://www.opensource.org/licenses/mit-license.php The MIT License
07 */
08 namespace s9e\TextFormatter\Plugins\Censor;
09
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 }