Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
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-2016 The s9e Authors
06 * @license http://www.opensource.org/licenses/mit-license.php The MIT License
07 */
08 namespace s9e\TextFormatter\Plugins\Autolink;
09 use s9e\TextFormatter\Plugins\ParserBase;
10 class Parser extends ParserBase
11 {
12 public function parse($text, array $matches)
13 {
14 foreach ($matches as $m)
15 $this->linkifyUrl($m[0][1], $this->trimUrl($m[0][0]));
16 }
17 protected function linkifyUrl($tagPos, $url)
18 {
19 if (!\preg_match('/^[^:]+:|^www\\./i', $url))
20 return;
21 $endTag = $this->parser->addEndTag($this->config['tagName'], $tagPos + \strlen($url), 0);
22 if ($url[3] === '.')
23 $url = 'http://' . $url;
24 $startTag = $this->parser->addStartTag($this->config['tagName'], $tagPos, 0, 1);
25 $startTag->setAttribute($this->config['attrName'], $url);
26 $startTag->pairWith($endTag);
27 }
28 protected function trimUrl($url)
29 {
30 while (1)
31 {
32 $url = \preg_replace('#(?![-=/)])[\\s!-.:-@[-`{-~\\pP]+$#Du', '', $url);
33 if (\substr($url, -1) === ')' && \substr_count($url, '(') < \substr_count($url, ')'))
34 {
35 $url = \substr($url, 0, -1);
36 continue;
37 }
38 break;
39 }
40 return $url;
41 }
42 }