parser: Replace Sanitizer::armorLinksCallback() with a closure
authorMax Semenik <maxsem.wiki@gmail.com>
Mon, 13 Nov 2017 23:48:03 +0000 (15:48 -0800)
committerKrinkle <krinklemail@gmail.com>
Tue, 30 Jan 2018 19:52:57 +0000 (19:52 +0000)
Used only once, small enough. Perfect candidate to not be exposed
even as a private function.

Change-Id: Ic020a596f709cb4f69c48ffe8138f9023a5c4062

includes/parser/Sanitizer.php

index 8fee2c7..de7a6fa 100644 (file)
@@ -1171,7 +1171,9 @@ class Sanitizer {
                # Stupid hack
                $encValue = preg_replace_callback(
                        '/((?i)' . wfUrlProtocols() . ')/',
-                       [ self::class, 'armorLinksCallback' ],
+                       function ( $matches ) {
+                               return str_replace( ':', '&#58;', $matches[1] );
+                       },
                        $encValue );
                return $encValue;
        }
@@ -1416,15 +1418,6 @@ class Sanitizer {
                return $html;
        }
 
-       /**
-        * Regex replace callback for armoring links against further processing.
-        * @param array $matches
-        * @return string
-        */
-       private static function armorLinksCallback( $matches ) {
-               return str_replace( ':', '&#58;', $matches[1] );
-       }
-
        /**
         * Return an associative array of attribute names and values from
         * a partial tag string. Attribute names are forced to lowercase,