/** * Convert a phrase to a URL-safe title. * * Example: * ~~~ * echo URL::title('My Blog Post'); // "my-blog-post" * ~~~ * * @since 1.0.0 Basic implementation * @since 1.1.1 Replaced UTF8::transliterate_to_ascii by UTF8::toAscii * * @param string $title Phrase to convert * @param string $separator Word separator (any single character) [Optional] * @param boolean $ascii_only Transliterate to ASCII? [Optional] * * @return string * * @uses UTF8::toAscii */ public static function title($title, $separator = '-', $ascii_only = FALSE) { if ($ascii_only === TRUE) { // Transliterate non-ASCII characters $title = UTF8::toAscii($title); // Remove all characters that are not the separator, a-z, 0-9, or whitespace $title = preg_replace('![^' . preg_quote($separator) . 'a-z0-9\\s]+!', '', strtolower($title)); } else { // Remove all characters that are not the separator, letters, numbers, or whitespace $title = preg_replace('![^' . preg_quote($separator) . '\\pL\\pN\\s]+!u', '', UTF8::strtolower($title)); } // Replace all separator characters and whitespace by a single separator $title = preg_replace('![' . preg_quote($separator) . '\\s]+!u', $separator, $title); // Trim separators from the beginning and end return trim($title, $separator); }
public function bench_toAscii($subject) { return UTF8::toAscii($subject); }