Skip to content

Commit dd15d44

Browse files
committed
Update array/pcre
1 parent 0fac33c commit dd15d44

File tree

4 files changed

+67
-41
lines changed

4 files changed

+67
-41
lines changed

reference/array/functions/array-unique.xml

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 3ba15fd3dfb8196a1762b1a21a14311e0279284b Maintainer: HonestQiao Status: ready -->
3+
<!-- EN-Revision: 651fad6c6677036edd2871bb78199e17586a3acd Maintainer: HonestQiao Status: ready -->
44
<!-- CREDITS: mowangjuanzi, Luffy -->
55
<refentry xml:id="function.array-unique" xmlns="http://docbook.org/ns/docbook">
6-
<refnamediv>
7-
<refname>array_unique</refname>
8-
<refpurpose>移除数组中重复的值</refpurpose>
9-
</refnamediv>
6+
<refnamediv>
7+
<refname>array_unique</refname>
8+
<refpurpose>移除数组中重复的值</refpurpose>
9+
</refnamediv>
10+
1011
<refsect1 role="description">
1112
&reftitle.description;
1213
<methodsynopsis>
1314
<type>array</type><methodname>array_unique</methodname>
1415
<methodparam><type>array</type><parameter>array</parameter></methodparam>
1516
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer><constant>SORT_STRING</constant></initializer></methodparam>
1617
</methodsynopsis>
17-
<para>
18-
<function>array_unique</function> 接受
19-
<parameter>array</parameter> 作为输入并返回没有重复值的新数组。
20-
</para>
21-
<para>
22-
注意键名保留不变。如果在指定了 <parameter>flags</parameter> 时存在多个相等的元素,
23-
会保留第一个相等的元素的键(key)和值(value)。
24-
</para>
25-
<note>
26-
<simpara>
27-
当且仅当
28-
<literal>(string) $elem1 === (string) $elem2</literal> 时两个单元被认为相同。
29-
例如,字符串表达一样时,会使用首个元素。
30-
</simpara>
31-
</note>
32-
</refsect1>
18+
<para>
19+
<function>array_unique</function> 接受
20+
<parameter>array</parameter> 作为输入并返回没有重复值的新数组。
21+
</para>
22+
<para>
23+
注意键名保留不变。如果在指定了 <parameter>flags</parameter> 时存在多个相等的元素,会保留第一个相等的元素的键(key)和值(value)。
24+
</para>
25+
<note>
26+
<simpara>
27+
当且仅当 <literal>(string) $elem1 === (string) $elem2</literal>
28+
时两个单元被认为相同。例如,字符串表达一样时,会使用首个元素。
29+
</simpara>
30+
</note>
31+
</refsect1>
3332

3433
<refsect1 role="parameters">
3534
&reftitle.parameters;
@@ -110,13 +109,15 @@
110109
&reftitle.examples;
111110
<para>
112111
<example>
113-
<title><function>array_unique</function> 例子</title>
112+
<title><function>array_unique</function> 示例</title>
114113
<programlisting role="php">
115114
<![CDATA[
116115
<?php
117-
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
116+
117+
$input = ["a" => "green", "red", "b" => "green", "blue", "red"];
118118
$result = array_unique($input);
119119
print_r($result);
120+
120121
?>
121122
]]>
122123
</programlisting>
@@ -139,9 +140,11 @@ Array
139140
<programlisting role="php">
140141
<![CDATA[
141142
<?php
142-
$input = array(4, "4", "3", 4, 3, "3");
143+
144+
$input = [4, "4", "3", 4, 3, "3"];
143145
$result = array_unique($input);
144146
var_dump($result);
147+
145148
?>
146149
]]>
147150
</programlisting>
@@ -162,12 +165,12 @@ array(2) {
162165
&reftitle.notes;
163166
<note>
164167
<simpara>
165-
注意, <function>array_unique</function> 不能应用于多维数组。
168+
注意,<function>array_unique</function> 不能应用于多维数组。
166169
</simpara>
167170
</note>
168171
</refsect1>
169172

170-
<refsect1 role="seealso">
173+
<refsect1 role="seealso">
171174
&reftitle.seealso;
172175
<para>
173176
<simplelist>

reference/pcre/functions/preg-split.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 41c8533ff5a8f93ba9fdf0732d05dd5ab79864c9 Maintainer: daijie Status: ready -->
3+
<!-- EN-Revision: bb66ce4d449049730d4967ce74fb68f15a138612 Maintainer: daijie Status: ready -->
44
<!-- CREDITS: mowangjuanzi -->
55
<refentry xml:id="function.preg-split" xmlns="http://docbook.org/ns/docbook">
66
<refnamediv>
@@ -223,7 +223,7 @@ Array
223223
<simplelist>
224224
<member><link linkend="pcre.pattern">PCRE 模式</link></member>
225225
<member><function>preg_quote</function></member>
226-
<member><function>implode</function></member>
226+
<member><function>explode</function></member>
227227
<member><function>preg_match</function></member>
228228
<member><function>preg_match_all</function></member>
229229
<member><function>preg_replace</function></member>

reference/pcre/pattern.modifiers.xml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 288ea761f5a8e7c685fe7f6fce2d7de0a87b31bd Maintainer: Luffy Status: ready -->
3+
<!-- EN-Revision: b5aa3464c8817645633dc4364e1ac2d7b92c5b3f Maintainer: Luffy Status: ready -->
4+
<!-- CREDITS: mowangjuanzi -->
45
<article xml:id="reference.pcre.pattern.modifiers" xmlns="http://docbook.org/ns/docbook">
56
<title>模式修饰符</title>
67
<titleabbrev>正则表达式模式中可用的模式修饰符</titleabbrev>
@@ -143,6 +144,23 @@
143144
</simpara>
144145
</listitem>
145146
</varlistentry>
147+
<varlistentry>
148+
<term><emphasis>r</emphasis> (<literal>PCRE2_EXTRA_CASELESS_RESTRICT</literal>)</term>
149+
<listitem>
150+
<simpara>
151+
当 <emphasis>u</emphasis>(<literal>PCRE_UTF8</literal>) 和
152+
<emphasis>i</emphasis>(<literal>PCRE_CASELESS</literal>)生效时,此修饰符可防止跨
153+
ASCII 和非 ASCII 字符进行匹配。
154+
</simpara>
155+
<simpara>
156+
例如,<code>preg_match('/\x{212A}/iu', "K")</code> 匹配开尔文符号 <literal>K</literal>(U+212A)。当使用
157+
<emphasis>r</emphasis>(preg_match('/\x{212A}/iur', "K"))时,不会匹配。
158+
</simpara>
159+
<simpara>
160+
自 PHP 8.4.0 起可用。
161+
</simpara>
162+
</listitem>
163+
</varlistentry>
146164
</variablelist>
147165
</blockquote>
148166
</para>

reference/pcre/pattern.syntax.xml

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 587830d5d261802148a160a59059dd8d76385fd2 Maintainer: daijie Status: ready -->
3+
<!-- EN-Revision: 0e4868392a619db8f148cb4c56cd57e92f6a3d2d Maintainer: daijie Status: ready -->
44
<!-- CREDITS: mowangjuanzi -->
55
<!-- splitted from ./en/functions/pcre.xml, last change in rev 1.2 -->
66
<chapter xml:id="reference.pcre.pattern.syntax" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -10,10 +10,8 @@
1010
<section xml:id="regexp.introduction">
1111
<title>简介</title>
1212
<para>
13-
下面描述的是 PCRE 支持的正则表达式语法和语义。正则表达式在 perl 的文档
14-
和另外一些书籍中也有讨论, 其中一些会有丰富的示例。O'Reilly(ISBN 1-56592-257-3)
15-
出版的 Jeffrey Friedl 的《精通正则表达式》一书非常详细的讨论了这些内容。
16-
这里的描述仅作为一个参考手册。
13+
本节描述的是 PCRE 支持的正则表达式语法和语义。正则表达式在 perl 的文档和另外一些书籍中也有讨论, 其中一些会有丰富的示例。O'Reilly(ISBN
14+
1-56592-257-3)出版的 Jeffrey Friedl 的《精通正则表达式》一书非常详细的讨论了这些内容。这里的描述仅作为一个参考手册。
1715
</para>
1816
<para>
1917
正则表达式是一个从左到右匹配目标字符串的模式。大多数字符自身就代表一个匹配
@@ -1392,15 +1390,22 @@
13921390
<literal>\d{8}</literal>
13931391

13941392
则只能匹配 8 个数字。
1395-
左花括号出现在不允许使用量词的位置或者与量词语法不匹配时,
1396-
被认为是一个普通字符,对它自身进行原文匹配。 比如,{,6}就不是一个量词,
1397-
会按照原文匹配四个字符 ”{,6}”。
1393+
13981394
</para>
1395+
<simpara>
1396+
PHP 8.4.0 之前,如果左花括号出现在不允许使用量词的位置,或者与量词语法不匹配时,则将其视为普通字符。例如
1397+
<literal>{,6}</literal> 不是量词,而是四个字符的文字字符串。
1398+
1399+
自 PHP 8.4.0 起,PCRE 扩展捆绑 PCRE2 10.44 版本,允许使用诸如 <literal>\d{,8}</literal>
1400+
之类的模式,并且将其解释为 <literal>\d{0,8}</literal>。
1401+
1402+
此外,自 PHP 8.4.0 起,量词周围允许使用空格字符,例如 <literal>\d{0 , 8}</literal> 和 <literal>\d{ 0 , 8 }</literal>。
1403+
</simpara>
13991404
<para>
1400-
量词 {0} 是被授权的,它会导致的行为是认为前面的项和量词不存在
1405+
允许使用量词 {0},会导致表达式的行为就像前一项和量词不存在一样
14011406
</para>
14021407
<para>
1403-
为了方便(以及历史的兼容性),最常用的三个量词都有单字符缩写
1408+
为了方便(和历史兼容性),三个最常用的量词都有单字符缩写
14041409
<table>
14051410
<title>单字符量词</title>
14061411
<tgroup cols="2">
@@ -1848,7 +1853,7 @@
18481853
<informalexample>
18491854
<programlisting>
18501855
<![CDATA[
1851-
( \( )? [^()]+ (?(1) \) )
1856+
( \( )? [^()]+ (?(1) \) )
18521857
]]>
18531858
</programlisting>
18541859
</informalexample>
@@ -1875,7 +1880,7 @@
18751880
<programlisting>
18761881
<![CDATA[
18771882
(?(?=[^a-z]*[a-z])
1878-
\d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} )
1883+
\d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} )
18791884
]]>
18801885
</programlisting>
18811886
</informalexample>

0 commit comments

Comments
 (0)