php-doc-en/reference/filesystem/functions/fnmatch.xml
Richard Quadling 605539d771 Documented flags.
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@291640 c90b9560-bf6c-de11-be94-00142212c4b1
2009-12-03 11:52:18 +00:00

197 lines
5.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- $Revision$ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.fnmatch">
<refnamediv>
<refname>fnmatch</refname>
<refpurpose>Match filename against a pattern</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<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><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
<function>fnmatch</function> checks if the passed <parameter>string</parameter> would
match the given shell wildcard <parameter>pattern</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>pattern</parameter></term>
<listitem>
<para>
The shell wildcard pattern.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
The tested string. This function is especially useful for filenames,
but may also be used on regular strings.
</para>
<para>
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>preg_match</function> for
frontend search expression input may be way more convenient for
non-programming users.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
The value of <parameter>flags</parameter> can be any combination of
the following flags, joined with the
<link linkend="language.operators.bitwise">binary OR (|) operator</link>.
<table>
<title>
A list of possible flags for <function>fnmatch</function>
</title>
<tgroup cols="2">
<thead>
<row>
<entry><parameter>Flag</parameter></entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>FNM_NOESCAPE</constant></entry>
<entry>
Disable backslash escaping.
</entry>
</row>
<row>
<entry><constant>FNM_PATHNAME</constant></entry>
<entry>
Slash in string only matches slash in the given pattern.
</entry>
</row>
<row>
<entry><constant>FNM_PERIOD</constant></entry>
<entry>
Leading period in string must be exactly matched by period in the given pattern.
</entry>
</row>
<row>
<entry><constant>FNM_CASEFOLD</constant></entry>
<entry>
Caseless match. Part of the GNU extension.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns &true; if there is a match, &false; otherwise.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.3.0</entry>
<entry>
This function is now available on Windows platforms.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<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>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<warning>
<para>
For now this function is not available on non-POSIX compliant systems.
</para>
</warning>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>glob</function></member>
<member><function>preg_match</function></member>
<member><function>sscanf</function></member>
<member><function>printf</function></member>
<member><function>sprintf</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:"~/.phpdoc/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
-->