<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.10 $ -->
  <refentry id="function.fnmatch">
   <refnamediv>
    <refname>fnmatch</refname> 
    <refpurpose>Match filename against a pattern</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
    <methodsynopsis>
     <type>bool</type><methodname>fnmatch</methodname>
     <methodparam><type>string</type><parameter>pattern</parameter></methodparam>
     <methodparam><type>string</type><parameter>string</parameter></methodparam>
     <methodparam choice="opt"><type>int</type><parameter>flags</parameter></methodparam>
    </methodsynopsis>
    <para>
     <function>fnmatch</function> checks if the passed <parameter>string</parameter> would 
     match the given shell wildcard <parameter>pattern</parameter>.
    </para>
    <para>
     This is especially useful for filenames, but may also be used on regular strings.
     The average user may be used to shell patterns or at least in their simplest form
     to <literal>'?'</literal> and <literal>'*'</literal> wildcards so using 
     <function>fnmatch</function> instead of <function>ereg</function> or 
     <function>preg_match</function> for frontend search expression input may be
     way more convenient for non-programming users.
    </para>
    <example>
     <title>
      Checking a color name against a shell wildcard pattern.
     </title>
     <programlisting role="php">
<![CDATA[
<?php
if (fnmatch("*gr[ae]y", $color)) {
  echo "some form of gray ...";
}
?>
]]>
     </programlisting>
    </example>
    <warning>
     <para>
      For now this function is not available on Windows or other non-POSIX
      compliant systems.
     </para>
    </warning>
    <para>
     See also <function>glob</function>,
     <function>ereg</function>,
     <function>preg_match</function> 
     and the Unix manpage on <literal>fnmatch(3)</literal> for flag names
     (as long as they are not documented here <!-- TODO hartmut -->).
    </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
-->