sanitize_title applied to a post title by the sanitize_title function, after stripping out HTML tags. wordpress/wp-includes/taxonomy.php: $value = apply_filters("pre_term_$field", $value, $taxonomy); wordpress/wp-includes/default-filters.php:$filters = array('pre_term_slug'); wordpress/wp-includes/plugin.php:function apply_filters($tag, $value) { wordpress/wp-includes/formatting.php:function sanitize_file_name( $name ) { // Like sanitize_title, but with periods wordpress/wp-includes/formatting.php:function sanitize_title($title, $fallback_title = '') { wordpress/wp-includes/formatting.php: $title = apply_filters('sanitize_title', $title); wordpress/wp-includes/taxonomy.php: $args['query_var'] = sanitize_title_with_dashes($args['query_var']); wordpress/wp-includes/taxonomy.php: $args['rewrite']['slug'] = sanitize_title_with_dashes($taxonomy); wordpress/wp-includes/taxonomy.php: $value = sanitize_title($value); wordpress/wp-includes/taxonomy.php: $slug = sanitize_title($slug); wordpress/wp-includes/taxonomy.php: if ( '' === $slug = sanitize_title($term) ) wordpress/wp-includes/taxonomy.php: $slug = sanitize_title($name); wordpress/wp-includes/taxonomy.php: $slug = sanitize_title($slug, $term_id); wordpress/wp-includes/taxonomy.php: $slug = sanitize_title($name); wordpress/wp-includes/taxonomy.php: $slug = sanitize_title($name, $term_id); function add_filter($tag, $function_to_add, $priority = 10, $accepted_args = 1) { global $wp_filter, $merged_filters; $idx = _wp_filter_build_unique_id($tag, $function_to_add, $priority); $wp_filter[$tag][$priority][$idx] = array('function' => $function_to_add, 'accepted_args' => $accepted_args); unset( $merged_filters[ $tag ] ); return true; } // Slugs $filters = array('pre_term_slug'); foreach ( $filters as $filter ) { add_filter($filter, 'sanitize_title'); } add_filter('sanitize_title', 'sanitize_title_with_dashes'); function sanitize_title_with_dashes($title) { $title = strip_tags($title); // Preserve escaped octets. $title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title); // Remove percent signs that are not part of an octet. $title = str_replace('%', '', $title); // Restore octets. $title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title); $title = remove_accents($title); if (seems_utf8($title)) { if (function_exists('mb_strtolower')) { $title = mb_strtolower($title, 'UTF-8'); } $title = utf8_uri_encode($title, 200); } $title = strtolower($title); $title = preg_replace('/&.+?;/', '', $title); // kill entities $title = preg_replace('/[^%a-z0-9 _-]/', '', $title); $title = preg_replace('/\s+/', '-', $title); $title = preg_replace('|-+|', '-', $title); $title = trim($title, '-'); return $title; }