Revision 2107 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** CodeIgniter** An open source application development framework for PHP** This content is released under the MIT License (MIT)** Copyright (c) 2014 - 2016, British Columbia Institute of Technology** Permission is hereby granted, free of charge, to any person obtaining a copy* of this software and associated documentation files (the "Software"), to deal* in the Software without restriction, including without limitation the rights* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell* copies of the Software, and to permit persons to whom the Software is* furnished to do so, subject to the following conditions:** The above copyright notice and this permission notice shall be included in* all copies or substantial portions of the Software.** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN* THE SOFTWARE.** @package CodeIgniter* @author EllisLab Dev Team* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)* @copyright Copyright (c) 2014 - 2016, British Columbia Institute of Technology (http://bcit.ca/)* @license http://opensource.org/licenses/MIT MIT License* @link https://codeigniter.com* @since Version 1.0.0* @filesource*/defined('BASEPATH') OR exit('No direct script access allowed');/*** CodeIgniter String Helpers** @package CodeIgniter* @subpackage Helpers* @category Helpers* @author EllisLab Dev Team* @link https://codeigniter.com/user_guide/helpers/string_helper.html*/// ------------------------------------------------------------------------if ( ! function_exists('trim_slashes')){/*** Trim Slashes** Removes any leading/trailing slashes from a string:** /this/that/theother/** becomes:** this/that/theother** @todo Remove in version 3.1+.* @deprecated 3.0.0 This is just an alias for PHP's native trim()** @param string* @return string*/function trim_slashes($str){return trim($str, '/');}}// ------------------------------------------------------------------------if ( ! function_exists('strip_slashes')){/*** Strip Slashes** Removes slashes contained in a string or in an array** @param mixed string or array* @return mixed string or array*/function strip_slashes($str){if ( ! is_array($str)){return stripslashes($str);}foreach ($str as $key => $val){$str[$key] = strip_slashes($val);}return $str;}}// ------------------------------------------------------------------------if ( ! function_exists('strip_quotes')){/*** Strip Quotes** Removes single and double quotes from a string** @param string* @return string*/function strip_quotes($str){return str_replace(array('"', "'"), '', $str);}}// ------------------------------------------------------------------------if ( ! function_exists('quotes_to_entities')){/*** Quotes to Entities** Converts single and double quotes to entities** @param string* @return string*/function quotes_to_entities($str){return str_replace(array("\'","\"","'",'"'), array("'",""","'","""), $str);}}// ------------------------------------------------------------------------if ( ! function_exists('reduce_double_slashes')){/*** Reduce Double Slashes** Converts double slashes in a string to a single slash,* except those found in http://** http://www.some-site.com//index.php** becomes:** http://www.some-site.com/index.php** @param string* @return string*/function reduce_double_slashes($str){return preg_replace('#(^|[^:])//+#', '\\1/', $str);}}// ------------------------------------------------------------------------if ( ! function_exists('reduce_multiples')){/*** Reduce Multiples** Reduces multiple instances of a particular character. Example:** Fred, Bill,, Joe, Jimmy** becomes:** Fred, Bill, Joe, Jimmy** @param string* @param string the character you wish to reduce* @param bool TRUE/FALSE - whether to trim the character from the beginning/end* @return string*/function reduce_multiples($str, $character = ',', $trim = FALSE){$str = preg_replace('#'.preg_quote($character, '#').'{2,}#', $character, $str);return ($trim === TRUE) ? trim($str, $character) : $str;}}// ------------------------------------------------------------------------if ( ! function_exists('random_string')){/*** Create a Random String** Useful for generating passwords or hashes.** @param string type of random string. basic, alpha, alnum, numeric, nozero, unique, md5, encrypt and sha1* @param int number of characters* @return string*/function random_string($type = 'alnum', $len = 8){switch ($type){case 'basic':return mt_rand();case 'alnum':case 'numeric':case 'nozero':case 'alpha':switch ($type){case 'alpha':$pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';break;case 'alnum':$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';break;case 'numeric':$pool = '0123456789';break;case 'nozero':$pool = '123456789';break;}return substr(str_shuffle(str_repeat($pool, ceil($len / strlen($pool)))), 0, $len);case 'unique': // todo: remove in 3.1+case 'md5':return md5(uniqid(mt_rand()));case 'encrypt': // todo: remove in 3.1+case 'sha1':return sha1(uniqid(mt_rand(), TRUE));}}}// ------------------------------------------------------------------------if ( ! function_exists('increment_string')){/*** Add's _1 to a string or increment the ending number to allow _2, _3, etc** @param string required* @param string What should the duplicate number be appended with* @param string Which number should be used for the first dupe increment* @return string*/function increment_string($str, $separator = '_', $first = 1){preg_match('/(.+)'.preg_quote($separator, '/').'([0-9]+)$/', $str, $match);return isset($match[2]) ? $match[1].$separator.($match[2] + 1) : $str.$separator.$first;}}// ------------------------------------------------------------------------if ( ! function_exists('alternator')){/*** Alternator** Allows strings to be alternated. See docs...** @param string (as many parameters as needed)* @return string*/function alternator(){static $i;if (func_num_args() === 0){$i = 0;return '';}$args = func_get_args();return $args[($i++ % count($args))];}}// ------------------------------------------------------------------------if ( ! function_exists('repeater')){/*** Repeater function** @todo Remove in version 3.1+.* @deprecated 3.0.0 This is just an alias for PHP's native str_repeat()** @param string $data String to repeat* @param int $num Number of repeats* @return string*/function repeater($data, $num = 1){return ($num > 0) ? str_repeat($data, $num) : '';}}