summaryrefslogtreecommitdiff
path: root/platform/www/inc/Parsing/ParserMode/Filelink.php
diff options
context:
space:
mode:
Diffstat (limited to 'platform/www/inc/Parsing/ParserMode/Filelink.php')
-rw-r--r--platform/www/inc/Parsing/ParserMode/Filelink.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/platform/www/inc/Parsing/ParserMode/Filelink.php b/platform/www/inc/Parsing/ParserMode/Filelink.php
new file mode 100644
index 0000000..3cd86cb
--- /dev/null
+++ b/platform/www/inc/Parsing/ParserMode/Filelink.php
@@ -0,0 +1,39 @@
+<?php
+
+namespace dokuwiki\Parsing\ParserMode;
+
+class Filelink extends AbstractMode
+{
+
+ protected $pattern;
+
+ /** @inheritdoc */
+ public function preConnect()
+ {
+
+ $ltrs = '\w';
+ $gunk = '/\#~:.?+=&%@!\-';
+ $punc = '.:?\-;,';
+ $host = $ltrs.$punc;
+ $any = $ltrs.$gunk.$punc;
+
+ $this->pattern = '\b(?i)file(?-i)://['.$any.']+?['.
+ $punc.']*[^'.$any.']';
+ }
+
+ /** @inheritdoc */
+ public function connectTo($mode)
+ {
+ $this->Lexer->addSpecialPattern(
+ $this->pattern,
+ $mode,
+ 'filelink'
+ );
+ }
+
+ /** @inheritdoc */
+ public function getSort()
+ {
+ return 360;
+ }
+}