https://bugzilla.wikimedia.org/show_bug.cgi?id=34801
Web browser: ---
Bug #: 34801
Summary: Function applyDiffStyle uses regexes which do not
detect CSS classes appropriately
Product: MediaWiki
Version: 1.19
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: Unprioritized
Component: Recent changes
AssignedTo: [email protected]
ReportedBy: [email protected]
Classification: Unclassified
Mobile Platform: ---
Currently, the function uses the regex
/(<[^>]+)class=(['\"])$class\\2([^>]*>)/
to try to detect the CSS classes. This only works if the element has only one
class and fails for some classes (mentioned on bug 34800) which appear at
https://en.wikipedia.org/w/index.php?title=Special:RecentChanges&feed=rss&action=purge
E.g.:
* diff: http://www.rubular.com/r/Q6x0qNBRmo
* diffchange: http://www.rubular.com/r/0ToRFfpvXA
Something like
(<[^>]+)class=(['\"])$class(| .+?)\\2([^>]*>)
would be slightly better:
http://www.rubular.com/r/BGlcrGfRtd
but still wouldn't work in case there is some class before the specified class:
http://www.rubular.com/r/xLWx9MWBSL
Besides, notice that
\"
has only one backslash and
\\2
has two. I don't know what is the proper syntax for this in PHP strings but it
is likely that one of the two needs to be fixed.
See also bug 34800 and bug 34798.
--
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l