From 32069ead9dfb959817f1d37bad81a046b205a831 Mon Sep 17 00:00:00 2001 From: Andrew Nacin Date: Tue, 16 Nov 2010 22:18:48 +0000 Subject: [PATCH] Revert changes to wptexturize() until test cases pass. Reverts [16280], [16378]. see #4539 and #15241. git-svn-id: https://develop.svn.wordpress.org/trunk@16409 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/formatting.php | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/wp-includes/formatting.php b/wp-includes/formatting.php index 7e1ff7c183..2a6a503209 100644 --- a/wp-includes/formatting.php +++ b/wp-includes/formatting.php @@ -56,25 +56,9 @@ function wptexturize($text) { $static_characters = array_merge(array('---', ' -- ', '--', ' - ', 'xn–', '...', '``', '\'\'', ' (tm)'), $cockney); $static_replacements = array_merge(array('—', ' — ', '–', ' – ', 'xn--', '…', $opening_quote, $closing_quote, ' ™'), $cockneyreplace); - $dynamic_map = array( - '/\'(\d)/' => '’$1', // '99 - - '/\'([^\']*)\'([^\']*)\'/' => '‘$1’$2’', // 'test's' - - '/(\w)\'(\w)/' => '$1’$2', // test's + $dynamic_characters = array('/\'(\d\d(?:’|\')?s)/', '/\'(\d)/', '/(\s|\A|[([{<]|")\'/', '/(\d)"/', '/(\d)\'/', '/(\S)\'([^\'\s])/', '/(\s|\A|[([{<])"(?!\s)/', '/"(\s|\S|\Z)/', '/\'([\s.]|\Z)/', '/\b(\d+)x(\d+)\b/'); + $dynamic_replacements = array('’$1','’$1', '$1‘', '$1″', '$1′', '$1’$2', '$1' . $opening_quote . '$2', $closing_quote . '$1', '’$1', '$1×$2'); - '/\'([^\']*)\'/' => '‘$1’', // 'asd' - '/"([^"]*)"/' => $opening_quote . '$1' . $closing_quote, // "qwe" - - '/(\d)"/' => '$1″', // 9" -> 9″ - '/(\d)\'/' => '$1′', // 9' -> 9′ - - '/\b(\d+)x(\d+)\b/' => '$1×$2' // 10. 97x34 => 97×34 - ); - - $dynamic_characters = array_keys($dynamic_map); - $dynamic_replacements = array_values($dynamic_map); - $static_setup = true; } @@ -85,9 +69,6 @@ function wptexturize($text) { $no_texturize_tags_stack = array(); $no_texturize_shortcodes_stack = array(); - - $single_quote_state = '‘'; - $double_quote_state = $opening_quote; for ( $i = 0; $i < $stop; $i++ ) { $curl = $textarr[$i]; @@ -99,15 +80,6 @@ function wptexturize($text) { $curl = str_replace($static_characters, $static_replacements, $curl); // regular expressions $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl); - // quotes that span multiple tags & shortcodes - while (($pos = strpos($curl, '\'')) !== FALSE) { - $curl = preg_replace('/\'/', $single_quote_state, $curl); - $single_quote_state = (($single_quote_state == '‘') ? '’' : '‘'); - } - while (($pos = strpos($curl, '"')) !== FALSE) { - $curl = preg_replace('/"/', $double_quote_state, $curl); - $double_quote_state = (($double_quote_state == $opening_quote) ? $closing_quote : $opening_quote); - } } elseif (!empty($curl)) { /* * Only call _wptexturize_pushpop_element if first char is correct