WordPress.org

Make WordPress Core

Ticket #10797: 10797.4.patch

File 10797.4.patch, 2.5 KB (added by SergeyBiryukov, 9 years ago)
  • wp-includes/default-filters.php

     
    182182add_filter( 'option_siteurl',           '_config_wp_siteurl'                  );
    183183add_filter( 'tiny_mce_before_init',     '_mce_set_direction'                  );
    184184add_filter( 'pre_kses',                 'wp_pre_kses_less_than'               );
    185 add_filter( 'sanitize_title',           'sanitize_title_with_dashes'          );
     185add_filter( 'sanitize_title',           'sanitize_title_with_dashes',   10, 3 );
    186186add_action( 'check_comment_flood',      'check_comment_flood_db',       10, 3 );
    187187add_filter( 'comment_flood_filter',     'wp_throttle_comment_flood',    10, 3 );
    188188add_filter( 'pre_comment_content',      'wp_rel_nofollow',              15    );
  • wp-includes/formatting.php

     
    803803}
    804804
    805805/**
    806  * Sanitizes title, replacing whitespace with dashes.
     806 * Sanitizes title, replacing whitespace and a few other characters with dashes.
    807807 *
    808808 * Limits the output to alphanumeric characters, underscore (_) and dash (-).
    809809 * Whitespace becomes a dash.
     
    811811 * @since 1.2.0
    812812 *
    813813 * @param string $title The title to be sanitized.
     814 * @param string $raw_title Optional. Not used.
     815 * @param string $context Optional. The operation for which the string is sanitized.
    814816 * @return string The sanitized title.
    815817 */
    816 function sanitize_title_with_dashes($title) {
     818function sanitize_title_with_dashes($title, $raw_title = '', $context = 'display') {
    817819        $title = strip_tags($title);
    818820        // Preserve escaped octets.
    819821        $title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title);
     
    832834        $title = strtolower($title);
    833835        $title = preg_replace('/&.+?;/', '', $title); // kill entities
    834836        $title = str_replace('.', '-', $title);
     837
     838        if ( 'save' == $context ) {
     839                // ndash and mdash
     840                $title = str_replace( array( '%e2%80%93', '%e2%80%94' ), '-', $title );
     841                // curly quotes and hellip
     842                $title = str_replace( array( '%e2%80%9c', '%e2%80%9d', '%e2%80%98', '%e2%80%99', '%e2%80%a6' ), '', $title );
     843                // copy and trade
     844                $title = str_replace( array( '%e2%84%a2', '%c2%a9' ), '', $title );
     845        }
     846
    835847        $title = preg_replace('/[^%a-z0-9 _-]/', '', $title);
    836848        $title = preg_replace('/\s+/', '-', $title);
    837849        $title = preg_replace('|-+|', '-', $title);