Ticket #34939: 34939.2.diff
File 34939.2.diff, 2.6 KB (added by , 9 years ago) |
---|
-
src/wp-includes/formatting.php
216 216 217 217 // Look for shortcodes and HTML elements. 218 218 219 preg_match_all( '@\[/?([^<>&/\[\]\x00-\x20 ]++)@', $text, $matches );219 preg_match_all( '@\[/?([^<>&/\[\]\x00-\x20=]++)@', $text, $matches ); 220 220 $tagnames = array_intersect( array_keys( $shortcode_tags ), $matches[1] ); 221 221 $found_shortcodes = ! empty( $tagnames ); 222 222 $shortcode_regex = $found_shortcodes ? _get_wptexturize_shortcode_regex( $tagnames ) : ''; -
src/wp-includes/shortcodes.php
95 95 return; 96 96 } 97 97 98 if ( 0 !== preg_match( '@[<>&/\[\]\x00-\x20 ]@', $tag ) ) {99 /* translators: %s: shortcode name*/100 $message = sprintf( __( 'Invalid shortcode name: % s. Do not use spaces or reserved characters: & / < > [ ]' ), $tag);98 if ( 0 !== preg_match( '@[<>&/\[\]\x00-\x20=]@', $tag ) ) { 99 /* translators: 1: shortcode name, 2: space separated list of reserved characters */ 100 $message = sprintf( __( 'Invalid shortcode name: %1$s. Do not use spaces or reserved characters: %2$s' ), $tag, '& / < > [ ] =' ); 101 101 _doing_it_wrong( __FUNCTION__, $message, '4.4.0' ); 102 102 return; 103 103 } … … 210 210 return $content; 211 211 212 212 // Find all registered tag names in $content. 213 preg_match_all( '@\[([^<>&/\[\]\x00-\x20 ]++)@', $content, $matches );213 preg_match_all( '@\[([^<>&/\[\]\x00-\x20=]++)@', $content, $matches ); 214 214 $tagnames = array_intersect( array_keys( $shortcode_tags ), $matches[1] ); 215 215 216 216 if ( empty( $tagnames ) ) { … … 578 578 return $content; 579 579 580 580 // Find all registered tag names in $content. 581 preg_match_all( '@\[([^<>&/\[\]\x00-\x20 ]++)@', $content, $matches );581 preg_match_all( '@\[([^<>&/\[\]\x00-\x20=]++)@', $content, $matches ); 582 582 $tagnames = array_intersect( array_keys( $shortcode_tags ), $matches[1] ); 583 583 584 584 if ( empty( $tagnames ) ) { -
tests/phpunit/tests/shortcode.php
647 647 648 648 } 649 649 650 /** 651 * @ticket 34939 652 * 653 * Test the (not recommended) [shortcode=XXX] format 654 */ 655 function test_unnamed_attribute() { 656 $out = do_shortcode('[dumptag=http://wordpress.com/]'); 657 $expected = "0 = http://wordpress.com\n"; 658 $this->assertEquals($expected, $out); 659 } 650 660 }