1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.16 $ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.ereg">
<refnamediv>
<refname>ereg</refname>
<refpurpose>Regular expression match</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>ereg</methodname>
<methodparam><type>string</type><parameter>pattern</parameter></methodparam>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter role="reference">regs</parameter></methodparam>
</methodsynopsis>
<simpara>
Searches a <parameter>string</parameter> for matches to the regular
expression given in <parameter>pattern</parameter> in a case-sensitive
way.
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>pattern</parameter></term>
<listitem>
<para>
Case sensitive regular expression.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
The input string.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>regs</parameter></term>
<listitem>
<para>
If matches are found for parenthesized substrings of
<parameter>pattern</parameter> and the function is called with the
third argument <parameter>regs</parameter>, the matches will be stored
in the elements of the array <parameter>regs</parameter>.
</para>
<para>
$regs[1] will contain the substring which starts at the first left
parenthesis; $regs[2] will contain the substring starting at the
second, and so on. $regs[0] will contain a copy of the complete string
matched.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns the length of the matched string if a match for
<parameter>pattern</parameter> was found in <parameter>string</parameter>,
or &false; if no matches were found or an error occurred.
</para>
<para>
If the optional parameter <parameter>regs</parameter> was not passed or
the length of the matched string is 0, this function returns 1.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>ereg</function> example</title>
<para>
The following code snippet takes a date in ISO format (YYYY-MM-DD) and
prints it in DD.MM.YYYY format:
</para>
<programlisting role="php">
<![CDATA[
<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
echo "$regs[3].$regs[2].$regs[1]";
} else {
echo "Invalid date format: $date";
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
<function>preg_match</function>, which uses a Perl-compatible
regular expression syntax, is often a faster alternative to
<function>ereg</function>.
</para>
</note>
<note>
<simpara>
Up to (and including) PHP 4.1.0 <varname>$regs</varname> 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 <function>ereg</function>'s ability to match more
substrings. If no matches are found, <literal>$regs</literal>
will not be altered by <function>ereg</function>.
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>eregi</function></member>
<member><function>ereg_replace</function></member>
<member><function>eregi_replace</function></member>
<member><function>preg_match</function></member>
<member><function>strpos</function></member>
<member><function>strstr</function></member>
<member><function>quotemeta</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->
|