| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | <?php namespace System;class Str {	/**	 * Convert HTML characters to entities.	 *	 * @param  string  $value	 * @return string	 */	public static function entities($value)	{        return htmlentities($value, ENT_QUOTES, Config::get('application.encoding'), false);	}    /**     * Convert a string to lowercase.     *     * @param  string  $value     * @return string     */    public static function lower($value)    {        return function_exists('mb_strtolower') ? mb_strtolower($value, Config::get('application.encoding')) : strtolower($value);    }    /**     * Convert a string to uppercase.     *     * @param  string  $value     * @return string     */    public static function upper($value)    {        return function_exists('mb_strtoupper') ? mb_strtoupper($value, Config::get('application.encoding')) : strtoupper($value);    }    /**     * Convert a string to title case (ucwords).     *     * @param  string  $value     * @return string     */    public static function title($value)    {        return (function_exists('mb_convert_case')) ? mb_convert_case($value, MB_CASE_TITLE, Config::get('application.encoding')) : ucwords(strtolower($value));    }    /**     * Generate a random alpha or alpha-numeric string.     *     * Supported types: 'alnum' and 'alpha'.     *     * @param  int     $length     * @param  string  $type     * @return string     */    public static function random($length = 16, $type = 'alnum')    {        $value = '';        // -----------------------------------------------------        // Get the proper character pool for the type.        // -----------------------------------------------------        switch ($type)        {            case 'alpha':                $pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';                break;            default:                $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';        }        // -----------------------------------------------------        // Get the pool length and split the pool into an array.        // -----------------------------------------------------        $pool_length = strlen($pool) - 1;        $pool = str_split($pool, 1);        // -----------------------------------------------------        // Build the random string to the specified length.        // -----------------------------------------------------        for ($i = 0; $i < $length; $i++)        {            $value .= $pool[mt_rand(0, $pool_length)];        }        return $value;    }}
 |