php-doc-en/reference/regex/reference.xml

132 lines
3.7 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.13 $ -->
<!-- Purpose: basic.text -->
<!-- Membership: core -->
<reference xml:id="ref.regex" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Regular Expression Functions (POSIX Extended)</title>
<titleabbrev>POSIX Regex</titleabbrev>
<partintro>
<section xml: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 <link xlink:href="&url.regex.man;">regex
man pages</link> 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 xml:id="regex.requirements">
&reftitle.required;
&no.requirement;
</section>
&reference.regex.configure;
<section xml:id="regex.configuration">
&reftitle.runtime;
&no.config;
</section>
<section xml:id="regex.resources">
&reftitle.resources;
&no.resource;
</section>
<section xml:id="regex.constants">
&reftitle.constants;
&no.constants;
</section>
<section xml: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 xml: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
-->