[pmwiki-users] brackets in link alt/title text
    John Rankin 
    john.rankin at affinity.co.nz
       
    Mon May 23 04:08:21 CDT 2011
    
    
  
A couple of weeks ago on the developers' list, I raised a minor issue of
brackets in link alt or title text being removed. The work-around was to
use numeric entities (( and )). This was in the context of a local
customisation to support markup like:
[[Kororareka"Kororareka ¶ A Mixed Community ¶ Shulitea (King
George)"|+]]
One would rather write:
[[Kororareka"Kororareka ¶ A Mixed Community ¶ Shulitea (King
George)"|+]]
I think this could be supported with a minor change to the MakeLink
function in pmwiki.php:
function MakeLink($pagename,$tgt,$txt=NULL,$suffix=NULL,$fmt=NULL) {
  global
$LinkPattern,$LinkFunctions,$UrlExcludeChars,$ImgExtPattern,$ImgTagFmt;
#  $t = preg_replace('/[()]/','',trim($tgt));
#  $t = preg_replace('/<[^>]*>/','',$t);
#  preg_match("/^($LinkPattern)?(.+?)(\"(.*)\")?$/",$t,$m);
  $t = preg_replace('/<[^>]*>/','',trim($tgt));
  if (preg_match('/^(.+?)("(.*)")$/',$t,$mt)) $t = $mt[1];
  $t = preg_replace('/[()]/','',$t);
  preg_match("/^($LinkPattern)?(.+?)$/",$t,$m);
[ ...]
  $out = $LinkFunctions[$m[1]]($pagename,$m[1],$m[2],@$mt[3],$txt,$fmt);
#  $out = $LinkFunctions[$m[1]]($pagename,$m[1],$m[2],@$m[4],$txt,$fmt);
  return $out;
}
The commented lines are the original pmwiki code. The change removes
optional "alt text" from the $tgt *before* removing ( and ). The change
will also correctly process markup like:
[[http://example.org"a (possibly) relevant example" | this case]]
I think this change would be harmless and consistent with image alt text,
in which brackets are fine.
JR
-- 
John Rankin
    
    
More information about the pmwiki-users
mailing list