Page MenuHomePhabricator

{{#if:}} inside external link causes the link to be parsed wrongly
Closed, ResolvedPublic

Description

Author: colin.fine

Description:
I have a template that is generating external links ([ ...])

If part of the link includes an {{#if:}} construct, some characters are not parsed correctly, but actually terminate the link construct.

I have seen two different cases:

  1. a '#' in the replacement text ends the link.

[http://somesite.com#anchor My site]
correctly shows 'My site', with a link to http://somesite.com#anchor

but
[http://somesite.com{{#if:anchor|#anchor}} My site]
expands to

  1. anchor My site]

as though it were

[http://somesite.com]
#anchor My site ]

(including treating the '#' as a numbered list item).

Using nowiki helps, but still gives a different wrong result:
[http://somesite.com{{#if:anchor|<nowiki>#</nowiki>anchor}} My site
expands as though it were
[http:somesite.com <nowiki>#</nowiki>anchor My site]

The workround I have is to put the # outside the #if:
[http://somesite.com#{{#if:anchor|anchor}} My site]
This works, but of course it always generates the # on the link.

  1. a ':' has similar problems, but not quite so bad, presumably because it is not so special to Mediawiki. The nowiki trick works here.

MW 1.13.2, ParseFunctions 1.1.1


Version: unspecified
Severity: normal
OS: Linux
Platform: PC

Details

Reference
bz19144

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 10:39 PM
bzimport set Reference to bz19144.
bzimport added a subscriber: Unknown Object (MLST).

herd wrote:

*** This bug has been marked as a duplicate of bug 12974 ***