public static function title($title, $separator = '-', $ascii_only = FALSE) {
        if ($ascii_only === TRUE) {
            // Transliterate non-ASCII characters
            $title = UTF8::transliterate_to_ascii($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 static function title($title, $separator = '-', $ascii_only = FALSE) {
        if ($ascii_only === TRUE) {
            // Transliterate non-ASCII characters
            $title = UTF8::transliterate_to_ascii($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 static function title ( $ title , $ separator = '-' , $ ascii_only = FALSE ) { if ( $ ascii_only === TRUE ) { // Transliterate non-ASCII characters $ title = UTF8 :: transliterate_to_ascii ( $ 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 ) ; }
Convert a phrase to a URL-safe title.

echo URL::title('My Blog Post'); // "my-blog-post"

@param   string $title Phrase to convert
@param   string $separator Word separator (any single character)
@param   boolean $ascii_only Transliterate to ASCII?
@return  string
@uses    UTF8::transliterate_to_ascii
Convert a phrase to a URL - safe title .