123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- <?php namespace System;
- class Str {
-
- public static function entities($value)
- {
- return htmlentities($value, ENT_QUOTES, Config::get('application.encoding'), false);
- }
-
- public static function lower($value)
- {
- return function_exists('mb_strtolower') ? mb_strtolower($value, Config::get('application.encoding')) : strtolower($value);
- }
-
- public static function upper($value)
- {
- return function_exists('mb_strtoupper') ? mb_strtoupper($value, Config::get('application.encoding')) : strtoupper($value);
- }
-
- 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));
- }
-
- public static function length($value)
- {
- return function_exists('mb_strlen') ? mb_strlen($value, Config::get('application.encoding')) : strlen($value);
- }
-
- public static function ascii($value)
- {
- $foreign = Config::get('ascii');
- $value = preg_replace(array_keys($foreign), array_values($foreign), $value);
- return preg_replace('/[^\x09\x0A\x0D\x20-\x7E]/', '', $value);
- }
-
- public static function random($length = 16, $type = 'alpha_num')
- {
- $value = '';
- $pool_length = strlen($pool = static::pool($type)) - 1;
- for ($i = 0; $i < $length; $i++)
- {
- $value .= $pool[mt_rand(0, $pool_length)];
- }
- return $value;
- }
-
- private static function pool($type = 'alpha_num')
- {
- switch ($type)
- {
- case 'alpha_num':
- return '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
-
- default:
- return 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
- }
- }
- }
|