X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FLinker.php;h=d3d1f389aff2da09762d858ddc4036d1e5351139;hb=9964ca1a390c446397dcd466916ffed356cdc3c9;hp=8682991bf83a9410335f5c7246e36d25604d5f40;hpb=ffa16cf8ae23d1007f99e322b7d5ab93eb5624ac;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Linker.php b/includes/Linker.php index 8682991bf8..d3d1f389af 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -319,7 +319,7 @@ class Linker { * @return LinkTarget */ public static function normaliseSpecialPage( LinkTarget $target ) { - if ( $target->getNamespace() == NS_SPECIAL ) { + if ( $target->getNamespace() == NS_SPECIAL && !$target->isExternal() ) { list( $name, $subpage ) = SpecialPageFactory::resolveAlias( $target->getDBkey() ); if ( !$name ) { return $target; @@ -1311,10 +1311,10 @@ class Linker { :? # ignore optional leading colon ([^\]|]+) # 1. link target; page names cannot include ] or | (?:\| - # 2. a pipe-separated substring; only the last is captured - # Stop matching at | and ]] without relying on backtracking. - ((?:]?[^\]|])*+) - )* + # 2. link text + # Stop matching at ]] without relying on backtracking. + ((?:]?[^\]])*+) + )? \]\] ([^[]*) # 3. link trail (the text up until the next link) /x',