Skip to content

Commit 7782272

Browse files
authored
fnmatch.xml Вернул ' и " для литералов, удалил лишние ?>
…уточнил перевод
1 parent 0738643 commit 7782272

1 file changed

Lines changed: 42 additions & 46 deletions

File tree

reference/filesystem/functions/fnmatch.xml

Lines changed: 42 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
</methodsynopsis>
1818
<para>
1919
Функция <function>fnmatch</function> проверяет, совпадает ли название файла
20-
или строка <parameter>filename</parameter> с шаблоном <parameter>pattern</parameter>,
21-
который состоит из подстановочных знаков командной оболочки.
20+
или другая строка в аргументе <parameter>filename</parameter> с шаблоном <parameter>pattern</parameter>,
21+
который поддерживает подстановочные знаки командной оболочки.
2222
</para>
2323
</refsect1>
2424

@@ -30,9 +30,9 @@
3030
<term><parameter>pattern</parameter></term>
3131
<listitem>
3232
<para>
33-
Шаблон <parameter>pattern</parameter>, с которым нужно сопоставить. Часто аргумент
34-
<parameter>pattern</parameter> будет содержать
35-
подстановочные знаки вроде <literal>«?»</literal> и <literal>«*»</literal>.
33+
Шаблон <parameter>pattern</parameter>, с которым требуется сопоставить строку.
34+
В аргумент <parameter>pattern</parameter> часто включают
35+
подстановочные знаки наподобие <literal>'?'</literal> и <literal>'*'</literal>.
3636
<table>
3737
<title>
3838
Подстановочные знаки параметра <parameter>pattern</parameter>
@@ -50,45 +50,45 @@
5050
<literal>?</literal>
5151
</entry>
5252
<entry>
53-
Вопросительный знак будет соответствовать любому отдельному символу.
54-
Например, шаблон <literal>«file?.txt»</literal> будет соответствовать названиям
55-
файлов <literal>«file1.txt»</literal> и <literal>«fileA.txt»</literal>,
56-
но не будет соответствовать названию файла <literal>«file10.txt»</literal>.
53+
Вопросительный знак соответствует одному произвольному символу.
54+
Шаблон <literal>"file?.txt"</literal> совпадёт с названиями
55+
файлов <literal>"file1.txt"</literal> и <literal>"fileA.txt"</literal>,
56+
но не совпадёт с названем <literal>"file10.txt"</literal>.
5757
</entry>
5858
</row>
5959
<row>
6060
<entry>
6161
<literal>*</literal>
6262
</entry>
6363
<entry>
64-
Звёздочка будет соответствовать нулю или нескольким символам.
65-
Например, шаблон <literal>«foo*.xml»</literal> будет соответствовать названиям файлов
66-
<literal>«foo.xml»</literal> или <literal>«foobar.xml»</literal>.
64+
Звёздочка соответствует нулю или большему количеству символов.
65+
Шаблон <literal>"foo*.xml"</literal> совпадёт и с названием файла
66+
<literal>"foo.xml"</literal>, и с названием <literal>"foobar.xml"</literal>.
6767
</entry>
6868
</row>
6969
<row>
7070
<entry>
7171
<literal>[ ]</literal>
7272
</entry>
7373
<entry>
74-
Квадратные скобки создают диапазон кодовых точек кодировки ASCII или набор символов.
75-
Например, шаблон <literal>«index.php[45]»</literal> будет соответствовать названиям файлов
76-
<literal>«index.php4»</literal> и <literal>«index.php5»</literal>, но не будет
77-
соответствовать названию файла <literal>«index.phpt»</literal>.
78-
Диапазоны, которыми часто пользуются, — <literal>[0-9]</literal>, <literal>[a-z]</literal>
79-
и <literal>[A-Z]</literal>. Разрешено указывать больше одного набора или диапазона одновременно,
80-
например <literal>[0-9a-zABC]</literal>.
74+
Квадратные скобки задают диапазоны или наборы отдельных символов в границах кодовых точек стандарта ASCII.
75+
Шаблон <literal>"index.php[45]"</literal> совпадёт с названиями файлов
76+
<literal>"index.php4"</literal> и <literal>"index.php5"</literal>,
77+
но не совпадёт с названием <literal>"index.phpt"</literal>.
78+
Популярные символьные группы: <literal>[0-9]</literal>, <literal>[a-z]</literal>
79+
и <literal>[A-Z]</literal>. Квадратные скобки поддерживают комбинации диапазонов и наборов символов:
80+
<literal>[0-9a-zABC]</literal>.
8181
</entry>
8282
</row>
8383
<row>
8484
<entry>
8585
<literal>!</literal>
8686
</entry>
8787
<entry>
88-
Восклицательный знак указывают для совпадения с символами,
89-
которых нет в квадратных скобках. Например, шаблон <literal>«[!A-Z]*.html»</literal>
90-
будет соответствовать названию файла <literal>«demo.html»</literal>,
91-
но не будет соответствовать названию <literal>«Demo.html»</literal>.
88+
Восклицательный знак указывают для отрицания символов
89+
внутри квадратных скобок. Шаблон <literal>"[!A-Z]*.html"</literal>
90+
совпадёт с названием файла <literal>"demo.html"</literal>,
91+
но не совпадёт с названием <literal>"Demo.html"</literal>.
9292
</entry>
9393
</row>
9494
<row>
@@ -97,8 +97,8 @@
9797
</entry>
9898
<entry>
9999
Обратный слеш экранирует специальные символы.
100-
Например, шаблон <literal>«Name\?»</literal> будет соответствовать строке
101-
<literal>«Name?»</literal>, не будет соответствовать строке <literal>«Names»</literal>.
100+
Шаблон <literal>"Name\?"</literal> совпадёт со строкой
101+
<literal>"Name?"</literal>, не совпадёт со строкой <literal>"Names"</literal>.
102102
</entry>
103103
</row>
104104
</tbody>
@@ -111,17 +111,16 @@
111111
<term><parameter>filename</parameter></term>
112112
<listitem>
113113
<para>
114-
Проверяемая строка. Функцией часто проверяют имена файлов,
114+
Проверяемая строка. Функцией чаще проверяют названия файлов,
115115
но также проверяют строки.
116116
</para>
117117
<para>
118-
Среднеподготовленные посетители сайтов пользуются шаблонами
119-
командной оболочки или хотя бы несложными формами
120-
подстановок вроде <literal>«?»</literal> и <literal>«*»</literal>.
121-
Поэтому для сопоставления поискового выражения, которое
122-
в пользовательской части сайта вводят незнакомые с программированием
123-
пользователи, вместо функции <function>preg_match</function> лучше пользоваться
124-
функцией <function>fnmatch</function>.
118+
Среднестатистический пользователь сайта или приложения привык строить
119+
шаблоны в стиле командной оболочки, по крайней мере
120+
с простейшими подстановками наподобие <literal>'?'</literal> и <literal>'*'</literal>.
121+
Поэтому незнакомым с программированием пользователям проще вводить поисковые запросы
122+
с подстановочными символами, а не с регулярными выражениями, а программисту обрабатывать
123+
функцией <function>fnmatch</function>, а не <function>preg_match</function>.
125124
</para>
126125
</listitem>
127126
</varlistentry>
@@ -131,11 +130,10 @@
131130
<para>
132131
Параметр <parameter>flags</parameter> принимает
133132
комбинации следующих флагов, которые объединяют
134-
<link linkend="language.operators.bitwise">двоичным оператором
135-
ИЛИ (|)</link>.
133+
<link linkend="language.operators.bitwise">оператором | — побитового ИЛИ</link>.
136134
<table>
137135
<title>
138-
Список возможных флагов для функции <function>fnmatch</function>
136+
Список флагов, которые поддерживает функция <function>fnmatch</function>
139137
</title>
140138
<tgroup cols="2">
141139
<thead>
@@ -148,25 +146,25 @@
148146
<row>
149147
<entry><constant>FNM_NOESCAPE</constant></entry>
150148
<entry>
151-
Отключить экранирование обратным слешем.
149+
Отключить экранирование обратным слешем — интерпретировать как обыкновенный символ.
152150
</entry>
153151
</row>
154152
<row>
155153
<entry><constant>FNM_PATHNAME</constant></entry>
156154
<entry>
157-
Слеш в строке совпадает только со слешем в шаблоне.
155+
Исключить совпадение слеша в строке с подстановочными символами шаблона.
158156
</entry>
159157
</row>
160158
<row>
161159
<entry><constant>FNM_PERIOD</constant></entry>
162160
<entry>
163-
Ведущая точка в строке должна точно совпадать с точкой в шаблоне.
161+
Исключить совпадение точки в начале строки с подстановочными символами шаблона.
164162
</entry>
165163
</row>
166164
<row>
167165
<entry><constant>FNM_CASEFOLD</constant></entry>
168166
<entry>
169-
Совпадение без учёта регистра. Часть расширения GNU.
167+
Сопоставлять строки без учёта регистра. Флаг — часть расширения поведения функции в наборе инструментов GNU.
170168
</entry>
171169
</row>
172170
</tbody>
@@ -182,24 +180,22 @@
182180
<refsect1 role="returnvalues">
183181
&reftitle.returnvalues;
184182
<para>
185-
Функция возвращает &true; при совпадении, иначе &false;.
183+
Функция возвращает &true;, если строка совпадает с шаблоном, иначе &false;.
186184
</para>
187185
</refsect1>
188186

189187
<refsect1 role="examples">
190188
&reftitle.examples;
191189
<para>
192190
<example>
193-
<title>Проверка соответствия названия цвета шаблону подстановки командной оболочки</title>
191+
<title>Проверка соответствия названия цвета шаблону с подстановочными символами командной оболочки</title>
194192
<programlisting role="php">
195193
<![CDATA[
196194
<?php
197195
198196
if (fnmatch("*gr[ae]y", $color)) {
199197
echo "Какая-то форма серого цвета...";
200198
}
201-
202-
?>
203199
]]>
204200
</programlisting>
205201
</example>
@@ -210,8 +206,8 @@ if (fnmatch("*gr[ae]y", $color)) {
210206
&reftitle.notes;
211207
<warning>
212208
<para>
213-
Функция пока недоступна на POSIX-несовместимых системах,
214-
кроме Windows.
209+
Функция пока доступна только на POSIX-совместимых системах
210+
и в ОС Windows.
215211
</para>
216212
</warning>
217213
</refsect1>

0 commit comments

Comments
 (0)