Esempio n. 1
0
 /**
  * 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);
 }
Esempio n. 2
0
 public function bench_toAscii($subject)
 {
     return UTF8::toAscii($subject);
 }