WordPress.org

Make WordPress Core

Ticket #26850: miqro-26850-part2.2.patch

File miqro-26850-part2.2.patch, 2.7 KB (added by miqrogroove, 7 years ago)
  • src/wp-includes/formatting.php

     
    107107                        $dynamic[ '/\'(\d\d)\'(?=\Z|[.,)}>\-\]]|' . $spaces . ')/' ] = $apos . '$1' . $closing_single_quote;
    108108                }
    109109
    110                 // '99 '99s '99's (apostrophe)  But never '9 or '999 or '99.0.
     110                // '99 '99s '99's (apostrophe)  But never '9 or '99% or '999 or '99.0.
    111111                if ( "'" !== $apos ) {
    112                         $dynamic[ '/\'(?=\d\d(?:\Z|(?!\d|[.,]\d)))/' ] = $apos;
     112                        $dynamic[ '/\'(?=\d\d(?:\Z|(?![%\d]|[.,]\d)))/' ] = $apos;
    113113                }
    114114
    115115                // Quoted Numbers like "42" or '42.00'
    116116                if ( '"' !== $opening_quote && '"' !== $closing_quote ) {
    117                         $dynamic[ '/(?<=\A|' . $spaces . ')"(\d[\d\.\,]*)"/' ] = $opening_quote . '$1' . $closing_quote;
     117                        $dynamic[ '/(?<=\A|' . $spaces . ')"(\d[.,\d]*)"/' ] = $opening_quote . '$1' . $closing_quote;
    118118                }
    119119                if ( "'" !== $opening_single_quote && "'" !== $closing_single_quote ) {
    120                         $dynamic[ '/(?<=\A|' . $spaces . ')\'(\d[\d\.\,]*)\'/' ] = $opening_single_quote . '$1' . $closing_single_quote;
     120                        $dynamic[ '/(?<=\A|' . $spaces . ')\'(\d[.,\d]*)\'/' ] = $opening_single_quote . '$1' . $closing_single_quote;
    121121                }
    122122
    123123                // Single quote at start, or preceded by (, {, <, [, ", -, or spaces.
  • tests/phpunit/tests/formatting/WPTexturize.php

     
    313313                                "word &#8217;99&#8217;s word",
    314314                        ),
    315315                        array(
    316                                 "according to our source, '33% of all students scored less than 50' on the test.", // Apostrophes and primes have priority over quotes
    317                                 "according to our source, &#8217;33% of all students scored less than 50&#8242; on the test.",
     316                                "according to our source, '33 students scored less than 50' on the test.", // Apostrophes and primes have priority over quotes
     317                                "according to our source, &#8217;33 students scored less than 50&#8242; on the test.",
    318318                        ),
    319319                );
    320320        }
     
    10601060                                'word &#8220;4,242.00&#8221; word',
    10611061                        ),
    10621062                        array(
    1063                                 "word '99's word", // Is this correct?
    1064                                 "word &#8216;99&#8217;s word",
     1063                                "word '99's word",
     1064                                "word &#8217;99&#8217;s word",
    10651065                        ),
    10661066                        array(
    10671067                                "word '99'samsonite",
    1068                                 "word &#8216;99&#8217;samsonite",
     1068                                "word &#8217;99&#8217;samsonite",
    10691069                        ),
    10701070                );
    10711071        }
     
    13411341                                "word &#8216;999 word",
    13421342                        ),
    13431343                        array(
     1344                                "word '99% word",
     1345                                "word &#8216;99% word",
     1346                        ),
     1347                        array(
    13441348                                "word '9 word",
    13451349                                "word &#8216;9 word",
    13461350                        ),