Posting this to contrast with the other answers:
The $
character should be allowed in links, and should not be mangled in any way.
According to RFC 3986, section 2.2, all of the following "reserved" characters are allowed in URIs:
gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
The reason these characters are called "reserved" is that they may be used as delimeters between URI components or subcomponents (as e.g. &
is used to delimit parameters in http
URI query strings), and thus are not generally considered equivalent to their percent-encoded forms.
I do realize that not all of these characters can or should always be treated as part of an adjacent URL by the StackExchange parser, since some of them are either used as delimiters in Markdown syntax, or are common punctuation characters that are frequently appended to URLs included in English text. However, $
does not seem to fall into either of these categories, and thus there should be no reason not to just treat it as a normal valid URL character.
In particular, parsing $
as part of an URL but then stripping it out completely, as the OP describes as happening in comments, is just plain broken. Whatever you do, don't do that.
Ps. The same set of reserved characters is also allowed in IRIs by RFC 3987, section 2.2.
http://www.mediawiki.org/wiki/Manual:$wgAllowExternalImages
. Test result: workarounds available