<?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.11 $ --> <reference id="ref.regex"> <title>Regular Expression Functions (POSIX Extended)</title> <titleabbrev>POSIX Regex</titleabbrev> <partintro> <section id="regex.intro"> &reftitle.intro; <tip> <para> PHP also supports regular expressions using a Perl-compatible syntax using the <link linkend="ref.pcre">PCRE functions</link>. Those functions support non-greedy matching, assertions, conditional subpatterns, and a number of other features not supported by the POSIX-extended regular expression syntax. </para> </tip> <warning> <para> These regular expression functions are not binary-safe. The <link linkend="ref.pcre">PCRE functions</link> are. </para> </warning> <para> Regular expressions are used for complex string manipulation. PHP uses the POSIX extended regular expressions as defined by POSIX 1003.2. For a full description of POSIX regular expressions see the <ulink url="&url.regex.man;">regex man pages</ulink> included in the regex directory in the PHP distribution. It's in manpage format, so you'll want to do something along the lines of <command>man /usr/local/src/regex/regex.7</command> in order to read it. </para> </section> <section id="regex.requirements"> &reftitle.required; &no.requirement; </section> &reference.regex.configure; <section id="regex.configuration"> &reftitle.runtime; &no.config; </section> <section id="regex.resources"> &reftitle.resources; &no.resource; </section> <section id="regex.constants"> &reftitle.constants; &no.constants; </section> <section id="regex.examples"> &reftitle.examples; <para> <example> <title>Regular Expression Examples</title> <programlisting role="php"> <![CDATA[ <?php // Returns true if "abc" is found anywhere in $string. ereg("abc", $string); // Returns true if "abc" is found at the beginning of $string. ereg("^abc", $string); // Returns true if "abc" is found at the end of $string. ereg("abc$", $string); // Returns true if client browser is Netscape 2, 3 or MSIE 3. eregi("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT); // Places three space separated words into $regs[1], $regs[2] and $regs[3]. ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string, $regs); // Put a <br /> tag at the beginning of $string. $string = ereg_replace("^", "<br />", $string); // Put a <br /> tag at the end of $string. $string = ereg_replace("$", "<br />", $string); // Get rid of any newline characters in $string. $string = ereg_replace("\n", "", $string); ?> ]]> </programlisting> </example> </para> </section> <section id="regex.seealso"> &reftitle.seealso; <para> For regular expressions in Perl-compatible syntax have a look at the <link linkend="ref.pcre">PCRE functions</link>. The simpler shell style wildcard pattern matching is provided by <function>fnmatch</function>. </para> </section> </partintro> &reference.regex.functions; </reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->