Remove % from title before utf8 uri encoding is done.

git-svn-id: http://svn.automattic.com/wordpress/trunk@2036 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
rboren 2005-01-02 09:08:55 +00:00
parent 87568fbb50
commit 72430a4584
1 changed files with 20 additions and 19 deletions

View File

@ -205,34 +205,35 @@ function remove_accents($string) {
} }
function sanitize_title($title, $fallback_title = '') { function sanitize_title($title, $fallback_title = '') {
$title = strip_tags($title); $title = strip_tags($title);
$title = apply_filters('sanitize_title', $title); $title = apply_filters('sanitize_title', $title);
if (empty($title)) { if (empty($title)) {
$title = $fallback_title; $title = $fallback_title;
} }
return $title; return $title;
} }
function sanitize_title_with_dashes($title) { function sanitize_title_with_dashes($title) {
$title = strip_tags($title); $title = strip_tags($title);
$title = remove_accents($title); $title = preg_replace('|%|', '', $title);
if (seems_utf8($title)) { $title = remove_accents($title);
if (function_exists('mb_strtolower')) { if (seems_utf8($title)) {
$title = mb_strtolower($title, 'UTF-8'); if (function_exists('mb_strtolower')) {
} $title = mb_strtolower($title, 'UTF-8');
$title = utf8_uri_encode($title);
} }
$title = utf8_uri_encode($title);
}
$title = strtolower($title); $title = strtolower($title);
$title = preg_replace('/&.+?;/', '', $title); // kill entities $title = preg_replace('/&.+?;/', '', $title); // kill entities
$title = preg_replace('/[^a-z0-9 _-]/', '', $title); $title = preg_replace('/[^%a-z0-9 _-]/', '', $title);
$title = preg_replace('/\s+/', '-', $title); $title = preg_replace('/\s+/', '-', $title);
$title = preg_replace('|-+|', '-', $title); $title = preg_replace('|-+|', '-', $title);
$title = trim($title, '-'); $title = trim($title, '-');
return $title; return $title;
} }
function convert_chars($content, $flag = 'obsolete') { function convert_chars($content, $flag = 'obsolete') {