Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2005 Aurelien 1
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
/**
3
 * CodeIgniter
4
 *
5
 * An open source application development framework for PHP 4.3.2 or newer
6
 *
7
 * @package		CodeIgniter
8
 * @author		ExpressionEngine Dev Team
9
 * @copyright	Copyright (c) 2008, EllisLab, Inc.
10
 * @license		http://codeigniter.com/user_guide/license.html
11
 * @link		http://codeigniter.com
12
 * @since		Version 1.0
13
 * @filesource
14
 */
15
16
// ------------------------------------------------------------------------
17
18
/**
19
 * CodeIgniter String Helpers
20
 *
21
 * @package		CodeIgniter
22
 * @subpackage	Helpers
23
 * @category	Helpers
24
 * @author		ExpressionEngine Dev Team
25
 * @link		http://codeigniter.com/user_guide/helpers/string_helper.html
26
 */
27
28
// ------------------------------------------------------------------------
29
30
/**
31
 * Trim Slashes
32
 *
33
 * Removes any leading/traling slashes from a string:
34
 *
35
 * /this/that/theother/
36
 *
37
 * becomes:
38
 *
39
 * this/that/theother
40
 *
41
 * @access	public
42
 * @param	string
43
 * @return	string
44
 */
45
if ( ! function_exists('trim_slashes'))
46
{
47
	function trim_slashes($str)
48
	{
49
		return trim($str, '/');
50
	}
51
}
52
53
// ------------------------------------------------------------------------
54
55
/**
56
 * Strip Slashes
57
 *
58
 * Removes slashes contained in a string or in an array
59
 *
60
 * @access	public
61
 * @param	mixed	string or array
62
 * @return	mixed	string or array
63
 */
64
if ( ! function_exists('strip_slashes'))
65
{
66
	function strip_slashes($str)
67
	{
68
		if (is_array($str))
69
		{
70
			foreach ($str as $key => $val)
71
			{
72
				$str[$key] = strip_slashes($val);
73
			}
74
		}
75
		else
76
		{
77
			$str = stripslashes($str);
78
		}
79
80
		return $str;
81
	}
82
}
83
84
// ------------------------------------------------------------------------
85
86
/**
87
 * Strip Quotes
88
 *
89
 * Removes single and double quotes from a string
90
 *
91
 * @access	public
92
 * @param	string
93
 * @return	string
94
 */
95
if ( ! function_exists('strip_quotes'))
96
{
97
	function strip_quotes($str)
98
	{
99
		return str_replace(array('"', "'"), '', $str);
100
	}
101
}
102
103
// ------------------------------------------------------------------------
104
105
/**
106
 * Quotes to Entities
107
 *
108
 * Converts single and double quotes to entities
109
 *
110
 * @access	public
111
 * @param	string
112
 * @return	string
113
 */
114
if ( ! function_exists('quotes_to_entities'))
115
{
116
	function quotes_to_entities($str)
117
	{
118
		return str_replace(array("\'","\"","'",'"'), array("&#39;","&quot;","&#39;","&quot;"), $str);
119
	}
120
}
121
122
// ------------------------------------------------------------------------
123
/**
124
 * Reduce Double Slashes
125
 *
126
 * Converts double slashes in a string to a single slash,
127
 * except those found in http://
128
 *
129
 * http://www.some-site.com//index.php
130
 *
131
 * becomes:
132
 *
133
 * http://www.some-site.com/index.php
134
 *
135
 * @access	public
136
 * @param	string
137
 * @return	string
138
 */
139
if ( ! function_exists('reduce_double_slashes'))
140
{
141
	function reduce_double_slashes($str)
142
	{
143
		return preg_replace("#([^:])//+#", "\\1/", $str);
144
	}
145
}
146
147
// ------------------------------------------------------------------------
148
149
/**
150
 * Reduce Multiples
151
 *
152
 * Reduces multiple instances of a particular character.  Example:
153
 *
154
 * Fred, Bill,, Joe, Jimmy
155
 *
156
 * becomes:
157
 *
158
 * Fred, Bill, Joe, Jimmy
159
 *
160
 * @access	public
161
 * @param	string
162
 * @param	string	the character you wish to reduce
163
 * @param	bool	TRUE/FALSE - whether to trim the character from the beginning/end
164
 * @return	string
165
 */
166
if ( ! function_exists('reduce_multiples'))
167
{
168
	function reduce_multiples($str, $character = ',', $trim = FALSE)
169
	{
170
		$str = preg_replace('#'.preg_quote($character, '#').'{2,}#', $character, $str);
171
172
		if ($trim === TRUE)
173
		{
174
			$str = trim($str, $character);
175
		}
176
177
		return $str;
178
	}
179
}
180
181
// ------------------------------------------------------------------------
182
183
/**
184
 * Create a Random String
185
 *
186
 * Useful for generating passwords or hashes.
187
 *
188
 * @access	public
189
 * @param	string 	type of random string.  Options: alunum, numeric, nozero, unique
190
 * @param	integer	number of characters
191
 * @return	string
192
 */
193
if ( ! function_exists('random_string'))
194
{
195
	function random_string($type = 'alnum', $len = 8)
196
	{
197
		switch($type)
198
		{
199
			case 'alnum'	:
200
			case 'numeric'	:
201
			case 'nozero'	:
202
203
					switch ($type)
204
					{
205
						case 'alnum'	:	$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
206
							break;
207
						case 'numeric'	:	$pool = '0123456789';
208
							break;
209
						case 'nozero'	:	$pool = '123456789';
210
							break;
211
					}
212
213
					$str = '';
214
					for ($i=0; $i < $len; $i++)
215
					{
216
						$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
217
					}
218
					return $str;
219
			  break;
220
			case 'unique' : return md5(uniqid(mt_rand()));
221
			  break;
222
		}
223
	}
224
}
225
226
// ------------------------------------------------------------------------
227
228
/**
229
 * Alternator
230
 *
231
 * Allows strings to be alternated.  See docs...
232
 *
233
 * @access	public
234
 * @param	string (as many parameters as needed)
235
 * @return	string
236
 */
237
if ( ! function_exists('alternator'))
238
{
239
	function alternator()
240
	{
241
		static $i;
242
243
		if (func_num_args() == 0)
244
		{
245
			$i = 0;
246
			return '';
247
		}
248
		$args = func_get_args();
249
		return $args[($i++ % count($args))];
250
	}
251
}
252
253
// ------------------------------------------------------------------------
254
255
/**
256
 * Repeater function
257
 *
258
 * @access	public
259
 * @param	string
260
 * @param	integer	number of repeats
261
 * @return	string
262
 */
263
if ( ! function_exists('repeater'))
264
{
265
	function repeater($data, $num = 1)
266
	{
267
		return (($num > 0) ? str_repeat($data, $num) : '');
268
	}
269
}
270
271
272
/* End of file string_helper.php */
273
/* Location: ./system/helpers/string_helper.php */