/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to codeigniter/system/helpers/string_helper.php

  • Committer: Henrik G.
  • Date: 2013-03-26 23:22:55 UTC
  • Revision ID: henrik.gustavsson@his.se-20130326232255-ik6snyatlbkf3zs1
First seed of Lenasys ... Needs to be Organized Further

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
 
/**
3
 
 * CodeIgniter
4
 
 *
5
 
 * An open source application development framework for PHP 5.1.6 or newer
6
 
 *
7
 
 * @package             CodeIgniter
8
 
 * @author              ExpressionEngine Dev Team
9
 
 * @copyright   Copyright (c) 2008 - 2011, 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/trailing 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
 
/**
125
 
 * Reduce Double Slashes
126
 
 *
127
 
 * Converts double slashes in a string to a single slash,
128
 
 * except those found in http://
129
 
 *
130
 
 * http://www.some-site.com//index.php
131
 
 *
132
 
 * becomes:
133
 
 *
134
 
 * http://www.some-site.com/index.php
135
 
 *
136
 
 * @access      public
137
 
 * @param       string
138
 
 * @return      string
139
 
 */
140
 
if ( ! function_exists('reduce_double_slashes'))
141
 
{
142
 
        function reduce_double_slashes($str)
143
 
        {
144
 
                return preg_replace("#(^|[^:])//+#", "\\1/", $str);
145
 
        }
146
 
}
147
 
 
148
 
// ------------------------------------------------------------------------
149
 
 
150
 
/**
151
 
 * Reduce Multiples
152
 
 *
153
 
 * Reduces multiple instances of a particular character.  Example:
154
 
 *
155
 
 * Fred, Bill,, Joe, Jimmy
156
 
 *
157
 
 * becomes:
158
 
 *
159
 
 * Fred, Bill, Joe, Jimmy
160
 
 *
161
 
 * @access      public
162
 
 * @param       string
163
 
 * @param       string  the character you wish to reduce
164
 
 * @param       bool    TRUE/FALSE - whether to trim the character from the beginning/end
165
 
 * @return      string
166
 
 */
167
 
if ( ! function_exists('reduce_multiples'))
168
 
{
169
 
        function reduce_multiples($str, $character = ',', $trim = FALSE)
170
 
        {
171
 
                $str = preg_replace('#'.preg_quote($character, '#').'{2,}#', $character, $str);
172
 
 
173
 
                if ($trim === TRUE)
174
 
                {
175
 
                        $str = trim($str, $character);
176
 
                }
177
 
 
178
 
                return $str;
179
 
        }
180
 
}
181
 
 
182
 
// ------------------------------------------------------------------------
183
 
 
184
 
/**
185
 
 * Create a Random String
186
 
 *
187
 
 * Useful for generating passwords or hashes.
188
 
 *
189
 
 * @access      public
190
 
 * @param       string  type of random string.  basic, alpha, alunum, numeric, nozero, unique, md5, encrypt and sha1
191
 
 * @param       integer number of characters
192
 
 * @return      string
193
 
 */
194
 
if ( ! function_exists('random_string'))
195
 
{
196
 
        function random_string($type = 'alnum', $len = 8)
197
 
        {
198
 
                switch($type)
199
 
                {
200
 
                        case 'basic'    : return mt_rand();
201
 
                                break;
202
 
                        case 'alnum'    :
203
 
                        case 'numeric'  :
204
 
                        case 'nozero'   :
205
 
                        case 'alpha'    :
206
 
 
207
 
                                        switch ($type)
208
 
                                        {
209
 
                                                case 'alpha'    :       $pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
210
 
                                                        break;
211
 
                                                case 'alnum'    :       $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
212
 
                                                        break;
213
 
                                                case 'numeric'  :       $pool = '0123456789';
214
 
                                                        break;
215
 
                                                case 'nozero'   :       $pool = '123456789';
216
 
                                                        break;
217
 
                                        }
218
 
 
219
 
                                        $str = '';
220
 
                                        for ($i=0; $i < $len; $i++)
221
 
                                        {
222
 
                                                $str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
223
 
                                        }
224
 
                                        return $str;
225
 
                                break;
226
 
                        case 'unique'   :
227
 
                        case 'md5'              :
228
 
 
229
 
                                                return md5(uniqid(mt_rand()));
230
 
                                break;
231
 
                        case 'encrypt'  :
232
 
                        case 'sha1'     :
233
 
 
234
 
                                                $CI =& get_instance();
235
 
                                                $CI->load->helper('security');
236
 
 
237
 
                                                return do_hash(uniqid(mt_rand(), TRUE), 'sha1');
238
 
                                break;
239
 
                }
240
 
        }
241
 
}
242
 
 
243
 
// ------------------------------------------------------------------------
244
 
 
245
 
/**
246
 
 * Add's _1 to a string or increment the ending number to allow _2, _3, etc
247
 
 *
248
 
 * @param   string  $str  required
249
 
 * @param   string  $separator  What should the duplicate number be appended with
250
 
 * @param   string  $first  Which number should be used for the first dupe increment
251
 
 * @return  string
252
 
 */
253
 
function increment_string($str, $separator = '_', $first = 1)
254
 
{
255
 
        preg_match('/(.+)'.$separator.'([0-9]+)$/', $str, $match);
256
 
 
257
 
        return isset($match[2]) ? $match[1].$separator.($match[2] + 1) : $str.$separator.$first;
258
 
}
259
 
 
260
 
// ------------------------------------------------------------------------
261
 
 
262
 
/**
263
 
 * Alternator
264
 
 *
265
 
 * Allows strings to be alternated.  See docs...
266
 
 *
267
 
 * @access      public
268
 
 * @param       string (as many parameters as needed)
269
 
 * @return      string
270
 
 */
271
 
if ( ! function_exists('alternator'))
272
 
{
273
 
        function alternator()
274
 
        {
275
 
                static $i;
276
 
 
277
 
                if (func_num_args() == 0)
278
 
                {
279
 
                        $i = 0;
280
 
                        return '';
281
 
                }
282
 
                $args = func_get_args();
283
 
                return $args[($i++ % count($args))];
284
 
        }
285
 
}
286
 
 
287
 
// ------------------------------------------------------------------------
288
 
 
289
 
/**
290
 
 * Repeater function
291
 
 *
292
 
 * @access      public
293
 
 * @param       string
294
 
 * @param       integer number of repeats
295
 
 * @return      string
296
 
 */
297
 
if ( ! function_exists('repeater'))
298
 
{
299
 
        function repeater($data, $num = 1)
300
 
        {
301
 
                return (($num > 0) ? str_repeat($data, $num) : '');
302
 
        }
303
 
}
304
 
 
305
 
 
306
 
/* End of file string_helper.php */
307
 
/* Location: ./system/helpers/string_helper.php */
 
 
b'\\ No newline at end of file'