diff options
author | Derek Allard <derek.allard@ellislab.com> | 2007-12-09 19:25:55 +0100 |
---|---|---|
committer | Derek Allard <derek.allard@ellislab.com> | 2007-12-09 19:25:55 +0100 |
commit | 375d9bac3453e309900b475cb4a1efb836f97440 (patch) | |
tree | 6684a03beeef230d6446608ec23d194f19163b86 /system/helpers | |
parent | 3755fc67fe28ae88061a13e5b78bb91fe836fcb1 (diff) |
quotes to entities now takes escaped and non-escaped quotes
Diffstat (limited to 'system/helpers')
-rw-r--r-- | system/helpers/string_helper.php | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/system/helpers/string_helper.php b/system/helpers/string_helper.php index 1ca25e331..470bce2eb 100644 --- a/system/helpers/string_helper.php +++ b/system/helpers/string_helper.php @@ -1 +1 @@ -<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 4.3.2 or newer
*
* @package CodeIgniter
* @author Rick Ellis
* @copyright Copyright (c) 2006, EllisLab, Inc.
* @license http://www.codeigniter.com/user_guide/license.html
* @link http://www.codeigniter.com
* @since Version 1.0
* @filesource
*/
// ------------------------------------------------------------------------
/**
* CodeIgniter String Helpers
*
* @package CodeIgniter
* @subpackage Helpers
* @category Helpers
* @author Rick Ellis
* @link http://www.codeigniter.com/user_guide/helpers/string_helper.html
*/
// ------------------------------------------------------------------------
/**
* Trim Slashes
*
* Removes any leading/traling slashes from a string:
*
* /this/that/theother/
*
* becomes:
*
* this/that/theother
*
* @access public
* @param string
* @return string
*/
function trim_slashes($str)
{
return trim($str, '/');
}
// ------------------------------------------------------------------------
/**
* Strip Slashes
*
* Removes slashes contained in a string or in an array
*
* @access public
* @param mixed string or array
* @return mixed stering or array
*/
function strip_slashes($str)
{
if (is_array($str))
{
foreach ($str as $key => $val)
{
$str[$key] = strip_slashes($val);
}
}
else
{
$str = stripslashes($str);
}
return $str;
}
// ------------------------------------------------------------------------
/**
* Strip Quotes
*
* Removes single and double quotes from a string
*
* @access public
* @param string
* @return string
*/
function strip_quotes($str)
{
return str_replace(array('"', "'"), '', $str);
}
// ------------------------------------------------------------------------
/**
* Quotes to Entities
*
* Converts single and double quotes to entities
*
* @access public
* @param string
* @return string
*/
function quotes_to_entities($str)
{
return str_replace(array("\'","\""), array("'","""), $str);
}
// ------------------------------------------------------------------------
/**
* 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
*
* @access public
* @param string
* @return string
*/
function reduce_double_slashes($str)
{
return preg_replace("#([^:])//+#", "\\1/", $str);
}
// ------------------------------------------------------------------------
/**
* Reduce Multiples
*
* Reduces multiple instances of a particular character. Example:
*
* Fred, Bill,, Joe, Jimmy
*
* becomes:
*
* Fred, Bill, Joe, Jimmy
*
* @access public
* @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)
{
$preg_chars = preg_quote($character, '#') . preg_quote($character, '#');
$str = preg_replace("#$preg_chars+#", $character, $str);
if ($trim == TRUE)
{
$str = trim($str, $character);
}
return $str;
}
// ------------------------------------------------------------------------
/**
* Create a Random String
*
* Useful for generating passwords or hashes.
*
* @access public
* @param string type of random string. Options: alunum, numeric, nozero, unique
* @param integer number of characters
* @return string
*/
function random_string($type = 'alnum', $len = 8)
{
switch($type)
{
case 'alnum' :
case 'numeric' :
case 'nozero' :
switch ($type)
{
case 'alnum' : $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case 'numeric' : $pool = '0123456789';
break;
case 'nozero' : $pool = '123456789';
break;
}
$str = '';
for ($i=0; $i < $len; $i++)
{
$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
}
return $str;
break;
case 'unique' : return md5(uniqid(mt_rand()));
break;
}
}
// ------------------------------------------------------------------------
/**
* Alternator
*
* Allows strings to be alternated. See docs...
*
* @access public
* @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))];
}
// ------------------------------------------------------------------------
/**
* Repeater function
*
* @access public
* @param string
* @param integer number of repeats
* @return string
*/
function repeater($data, $num = 1)
{
return (($num > 0) ? str_repeat($data, $num) : '');
}
?>
\ No newline at end of file +<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 4.3.2 or newer
*
* @package CodeIgniter
* @author Rick Ellis
* @copyright Copyright (c) 2006, EllisLab, Inc.
* @license http://www.codeigniter.com/user_guide/license.html
* @link http://www.codeigniter.com
* @since Version 1.0
* @filesource
*/
// ------------------------------------------------------------------------
/**
* CodeIgniter String Helpers
*
* @package CodeIgniter
* @subpackage Helpers
* @category Helpers
* @author Rick Ellis
* @link http://www.codeigniter.com/user_guide/helpers/string_helper.html
*/
// ------------------------------------------------------------------------
/**
* Trim Slashes
*
* Removes any leading/traling slashes from a string:
*
* /this/that/theother/
*
* becomes:
*
* this/that/theother
*
* @access public
* @param string
* @return string
*/
function trim_slashes($str)
{
return trim($str, '/');
}
// ------------------------------------------------------------------------
/**
* Strip Slashes
*
* Removes slashes contained in a string or in an array
*
* @access public
* @param mixed string or array
* @return mixed stering or array
*/
function strip_slashes($str)
{
if (is_array($str))
{
foreach ($str as $key => $val)
{
$str[$key] = strip_slashes($val);
}
}
else
{
$str = stripslashes($str);
}
return $str;
}
// ------------------------------------------------------------------------
/**
* Strip Quotes
*
* Removes single and double quotes from a string
*
* @access public
* @param string
* @return string
*/
function strip_quotes($str)
{
return str_replace(array('"', "'"), '', $str);
}
// ------------------------------------------------------------------------
/**
* Quotes to Entities
*
* Converts single and double quotes to entities
*
* @access public
* @param string
* @return string
*/
function quotes_to_entities($str)
{
return str_replace(array("\'","\"","'",'"'), array("'",""","'","""), $str);
}
// ------------------------------------------------------------------------
/**
* 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
*
* @access public
* @param string
* @return string
*/
function reduce_double_slashes($str)
{
return preg_replace("#([^:])//+#", "\\1/", $str);
}
// ------------------------------------------------------------------------
/**
* Reduce Multiples
*
* Reduces multiple instances of a particular character. Example:
*
* Fred, Bill,, Joe, Jimmy
*
* becomes:
*
* Fred, Bill, Joe, Jimmy
*
* @access public
* @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)
{
$preg_chars = preg_quote($character, '#') . preg_quote($character, '#');
$str = preg_replace("#$preg_chars+#", $character, $str);
if ($trim == TRUE)
{
$str = trim($str, $character);
}
return $str;
}
// ------------------------------------------------------------------------
/**
* Create a Random String
*
* Useful for generating passwords or hashes.
*
* @access public
* @param string type of random string. Options: alunum, numeric, nozero, unique
* @param integer number of characters
* @return string
*/
function random_string($type = 'alnum', $len = 8)
{
switch($type)
{
case 'alnum' :
case 'numeric' :
case 'nozero' :
switch ($type)
{
case 'alnum' : $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case 'numeric' : $pool = '0123456789';
break;
case 'nozero' : $pool = '123456789';
break;
}
$str = '';
for ($i=0; $i < $len; $i++)
{
$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
}
return $str;
break;
case 'unique' : return md5(uniqid(mt_rand()));
break;
}
}
// ------------------------------------------------------------------------
/**
* Alternator
*
* Allows strings to be alternated. See docs...
*
* @access public
* @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))];
}
// ------------------------------------------------------------------------
/**
* Repeater function
*
* @access public
* @param string
* @param integer number of repeats
* @return string
*/
function repeater($data, $num = 1)
{
return (($num > 0) ? str_repeat($data, $num) : '');
}
?>
\ No newline at end of file |