Last modified: 2013-12-07 13:13:09 UTC
Consider the URL > //en.wikipedia.org/w/index.php?title=Test&action=edit§ion=new&preloadtitle={{urlencode|Enter heading!}}|1}} which expands to > //en.wikipedia.org/w/index.php?title=Test&action=edit§ion=new&preloadtitle=Enter+heading%21 Titleparts will fail on this (perfectly fine) URL when calling > {{#titleparts://en.wikipedia.org/w/index.php?title=Test&action=edit§ion=new&preloadtitle=Enter+heading%21|1}} Actually it should return an empty string (as the URL is protocol relative) and that's actually what #titleparts does as soon as one removes the "%21" from the URL.
The function is called *title*parts, not split or something else. That means you can only get parts of titles. %[0-9A-F]{2} is not allow in a title, that means it is invalid and titleparts gives the input string back. Now you can use lua for that. Related: bug 23607
This bug is invalid, because titleparts is supposed to parse the input along to the existing title rules, which means that colon is invalid, first letter maybe uppercase and something other, like url encoded parts. Try to use lua, when plain text split is needed.