<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<title>CodeIgniter User Guide : String Helper</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>CodeIgniter User Guide Version 1.6.0</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
String Helper
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>String Helper</h1>

<p>The String Helper file contains functions that assist in working with strings.</p>


<h2>Loading this Helper</h2>

<p>This helper is loaded using the following code:</p>
<code>$this->load->helper('string');</code>

<p>The following functions are available:</p>

<h2>random_string()</h2>

<p>Generates a random string based on the type and length you specify.  Useful for creating passwords or generating random hashes.</p>

<p>The first parameter specifies the type of string, the second parameter specifies the length.  The following choices are available:</p>


<ul>
<li><strong>alnum</strong>:&nbsp; Alpha-numeric string with lower and uppercase characters.</li>
<li><strong>numeric</strong>:&nbsp; Numeric string.</li>
<li><strong>nozero</strong>:&nbsp; Numeric string with no zeros.</li>
<li><strong>unique</strong>:&nbsp; Encrypted with MD5 and uniqid(). Note: The length parameter is not available for this type.
Returns a fixed length 32 character string.</li>
</ul>

<p>Usage example:</p>

<code>echo random_string('alnum', 16);</code>


<h2>alternator()</h2>

<p>Allows two or more items to be alternated between, when cycling through a loop.  Example:</p>

<code>for ($i = 0; $i < 10; $i++)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo alternator('string one', 'string two');<br />
}<br />
</code>

<p>You can add as many parameters as you want, and with each iteration of your loop the next item will be returned.</p>

<code>for ($i = 0; $i < 10; $i++)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo alternator('one', 'two', 'three', 'four', 'five');<br />
}<br />
</code>

<p><strong>Note:</strong> To use multiple separate calls to this function simply call the function with no arguments to re-initialize.</p>



<h2>repeater()</h2>
<p>Generates repeating copies of the data you submit. Example:</p>
<code>$string = "\n";<br />
echo repeater($string, 30);</code>

<p>The above would generate 30 newlines.</p>
<h2>reduce_double_slashes()</h2>
<p>Converts double slashes in a string to a single slash, except those found in http://. Example: </p>
<code>$string = &quot;http://www.example.com//index.php&quot;;<br />
echo reduce_double_slashes($string); // results in &quot;http://www.example.com/index.php&quot;</code>
<h2>trim_slashes()</h2>
<p>Removes any leading/trailing slashes from a string. Example:<br />
    <br />
    <code>$string = &quot;/this/that/theother/&quot;;<br />
echo trim_slashes($string); // results in this/that/theother</code></p>


<h2>reduce_multiples()</h2>
<p>Reduces multiple instances of a particular character occuring directly after each other. Example:</p>
<code>
$string="Fred, Bill,, Joe, Jimmy";<br />
$string=reduce_multiples($string,","); //results in "Fred, Bill, Joe, Jimmy"
</code>
<p>The function accepts the following parameters:
<code>reduce_multiples(string: text to search in, string: character to reduce, boolean: whether to remove the character from the front and end of the string)</code>

The first parameter contrains the string in which you want to reduce the multiplies. The second parameter contains the character you want to have reduced.
The third parameter is False by default. If it it's to true it will remove occurences of the character at the beginning and the end of the string. Example:

<code>
$string=",Fred, Bill,, Joe, Jimmy,";<br />
$string=reduce_multiples($string,",",true); //results in "Fred, Bill, Joe, Jimmy"
</code>
</p> 

<h2>quotes_to_entities()</h2>
<p>Converts single and double quotes in a string to the corresponding HTML entities. Example:</p>
<code>$string="Joe's \"dinner\"";<br />
$string=quotes_to_entities($string); //results in "Joe&amp;#39;s &amp;quot;dinner&amp;quot;"
</code>

<h2>strip_quotes()</h2>
<p>Removes single and double quotes from a string. Example:</p>
<code>$string="Joe's \"dinner\"";<br />
$string=strip_quotes($string); //results in "Joes dinner"
</code>

</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="smiley_helper.html">Smiley Helper</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Next Topic:&nbsp;&nbsp;<a href="text_helper.html">Text Helper</a>
</p>
<p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
</div>

</body>
</html>