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: wikibugs-l@lists.wikimedia.org
        ReportedBy: mybugs.m...@gmail.com
    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
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to