<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Regular expression match</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.ereg-replace.html">ereg_replace</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.eregi-replace.html">eregi_replace</a></div> <div class="up"><a href="ref.regex.html">POSIX Regex Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.ereg" class="refentry"> <div class="refnamediv"> <h1 class="refname">ereg</h1> <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">ereg</span> — <span class="dc-title">Regular expression match</span></p> </div> <div class="refsect1 description" id="refsect1-function.ereg-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">int</span> <span class="methodname"><strong>ereg</strong></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$pattern</code></span> , <span class="methodparam"><span class="type">string</span> <code class="parameter">$string</code></span> [, <span class="methodparam"><span class="type">array</span> <code class="parameter reference">&$regs</code></span> ] )</div> <p class="simpara"> Searches a <em><code class="parameter">string</code></em> for matches to the regular expression given in <em><code class="parameter">pattern</code></em> in a case-sensitive way. </p> <div class="warning"><strong class="warning">Warning</strong><p class="simpara">This function has been <em class="emphasis">DEPRECATED</em> as of PHP 5.3.0. Relying on this feature is highly discouraged.</p></div> </div> <div class="refsect1 parameters" id="refsect1-function.ereg-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter">pattern</code></em></span> <dd> <p class="para"> Case sensitive regular expression. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">string</code></em></span> <dd> <p class="para"> The input string. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">regs</code></em></span> <dd> <p class="para"> If matches are found for parenthesized substrings of <em><code class="parameter">pattern</code></em> and the function is called with the third argument <em><code class="parameter">regs</code></em>, the matches will be stored in the elements of the array <em><code class="parameter">regs</code></em>. </p> <p class="para"> <var class="varname"><var class="varname">$regs[1]</var></var> will contain the substring which starts at the first left parenthesis; <var class="varname"><var class="varname">$regs[2]</var></var> will contain the substring starting at the second, and so on. <var class="varname"><var class="varname">$regs[0]</var></var> will contain a copy of the complete string matched. </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.ereg-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns the length of the matched string if a match for <em><code class="parameter">pattern</code></em> was found in <em><code class="parameter">string</code></em>, or <strong><code>FALSE</code></strong> if no matches were found or an error occurred. </p> <p class="para"> If the optional parameter <em><code class="parameter">regs</code></em> was not passed or the length of the matched string is 0, this function returns 1. </p> </div> <div class="refsect1 changelog" id="refsect1-function.ereg-changelog"> <h3 class="title">Changelog</h3> <p class="para"> <table class="doctable informaltable"> <thead> <tr> <th>Version</th> <th>Description</th> </tr> </thead> <tbody class="tbody"> <tr> <td>4.1.0</td> <td> Up to (and including) PHP 4.1.0 <var class="varname"><var class="varname">$regs</var></var> will be filled with exactly ten elements, even though more or fewer than ten parenthesized substrings may actually have matched. This has no effect on <span class="function"><strong>ereg()</strong></span>'s ability to match more substrings. If no matches are found, <em>$regs</em> will not be altered by <span class="function"><strong>ereg()</strong></span>. </td> </tr> </tbody> </table> </p> </div> <div class="refsect1 examples" id="refsect1-function.ereg-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-4809"> <p><strong>Example #1 <span class="function"><strong>ereg()</strong></span> example</strong></p> <div class="example-contents"><p> The following code snippet takes a date in ISO format (YYYY-MM-DD) and prints it in DD.MM.YYYY format: </p></div> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">ereg </span><span style="color: #007700">(</span><span style="color: #DD0000">"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"</span><span style="color: #007700">, </span><span style="color: #0000BB">$date</span><span style="color: #007700">, </span><span style="color: #0000BB">$regs</span><span style="color: #007700">)) {<br /> echo </span><span style="color: #DD0000">"</span><span style="color: #0000BB">$regs</span><span style="color: #007700">[</span><span style="color: #0000BB">3</span><span style="color: #007700">]</span><span style="color: #DD0000">.</span><span style="color: #0000BB">$regs</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">]</span><span style="color: #DD0000">.</span><span style="color: #0000BB">$regs</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br />} else {<br /> echo </span><span style="color: #DD0000">"Invalid date format: </span><span style="color: #0000BB">$date</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div> <div class="refsect1 notes" id="refsect1-function.ereg-notes"> <h3 class="title">Notes</h3> <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para">As of PHP 5.3.0, the regex extension is deprecated in favor of the <a href="book.pcre.html" class="link">PCRE extension</a>. Calling this function will issue an <strong><code>E_DEPRECATED</code></strong> notice. See <a href="reference.pcre.pattern.posix.html" class="link">the list of differences</a> for help on converting to PCRE.</p></p></blockquote> <div class="tip"><strong class="tip">Tip</strong> <p class="para"> <span class="function"><strong>ereg()</strong></span> is deprecated as of PHP 5.3.0. <span class="function"><a href="function.preg-match.html" class="function">preg_match()</a></span> is the suggested alternative to this function. </p> </div> </div> <div class="refsect1 seealso" id="refsect1-function.ereg-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="function"><a href="function.eregi.html" class="function" rel="rdfs-seeAlso">eregi()</a> - Case insensitive regular expression match</span></li> <li class="member"> <span class="function"><a href="function.ereg-replace.html" class="function" rel="rdfs-seeAlso">ereg_replace()</a> - Replace regular expression</span></li> <li class="member"> <span class="function"><a href="function.eregi-replace.html" class="function" rel="rdfs-seeAlso">eregi_replace()</a> - Replace regular expression case insensitive</span></li> <li class="member"> <span class="function"><a href="function.preg-match.html" class="function" rel="rdfs-seeAlso">preg_match()</a> - Perform a regular expression match</span></li> <li class="member"> <span class="function"><a href="function.strpos.html" class="function" rel="rdfs-seeAlso">strpos()</a> - Find the position of the first occurrence of a substring in a string</span></li> <li class="member"> <span class="function"><a href="function.strstr.html" class="function" rel="rdfs-seeAlso">strstr()</a> - Find the first occurrence of a string</span></li> <li class="member"> <span class="function"><a href="function.quotemeta.html" class="function" rel="rdfs-seeAlso">quotemeta()</a> - Quote meta characters</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.ereg-replace.html">ereg_replace</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.eregi-replace.html">eregi_replace</a></div> <div class="up"><a href="ref.regex.html">POSIX Regex Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>