Make WordPress Core

Opened 11 years ago

Closed 10 years ago

#12956 closed enhancement (duplicate)

© and ™ not stripped from sanitize_title

Reported by: thomask Owned by: ryan
Milestone: Priority: normal
Severity: normal Version:
Component: Permalinks Keywords:
Focuses: Cc:


© and ™ (© ™) and probably many other symbols are not stripped out when sanitizing title.

quick workaround:

function mc_sanitize_title( $title ) {
	return str_replace(array("%e2%84%a2", "%c2%a9"), "", $title);
add_filter('sanitize_title', 'mc_sanitize_title');

but i guess that there should be some most robust and standard solution, e.g. using PHP transliteration first and then removing anything but alphanumeric, coma and underscore like in this function

function friendly_url($raw_title) {
    $url = $raw_title;
    $url = preg_replace('~[^\\pL0-9_]+~u', '-', $url);
    $url = trim($url, "-");
    $url = iconv("utf-8", "us-ascii//TRANSLIT", $url);
    $url = strtolower($url);
    $url = preg_replace('~[^-a-z0-9_]+~', '', $url);
    return $url;

this should also create nice url even for special alphabets. (setlocale must be set, but imho it is somewhere in wordpress core)

Change History (6)

#1 @unsalkorkmaz
11 years ago

  • Cc unsalkorkmaz added

#3 @sivel
11 years ago

  • Milestone changed from 3.0 to 3.1
  • Type changed from defect (bug) to enhancement
  • Version 3.0 deleted

Punting to 3.1.

#4 @hakre
11 years ago

I wonder if those chars should be stripped at all. They look valid in a posts, title, aren't they?

#5 @nacin
11 years ago

  • Milestone changed from Awaiting Triage to Future Release

#6 @SergeyBiryukov
10 years ago

  • Milestone Future Release deleted
  • Resolution set to duplicate
  • Status changed from new to closed

Merged into the patch in #10797.

Note: See TracTickets for help on using tickets.