-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathpreg-quote.xml
170 lines (161 loc) · 4.4 KB
/
preg-quote.xml
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
160
161
162
163
164
165
166
167
168
169
170
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 22e850b66cd9a4b8f0e002bd5850f9839caaf152 Maintainer: daijie Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.preg-quote" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>preg_quote</refname>
<refpurpose>转义正则表达式字符</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>preg_quote</methodname>
<methodparam><type>string</type><parameter>str</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>delimiter</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>preg_quote</function>需要参数 <parameter>str</parameter> 并向其中
每个正则表达式语法中的字符前增加一个反斜线。 这通常用于你有一些运行时字符串
需要作为正则表达式进行匹配的时候。
</para>
<para>
正则表达式特殊字符有:
<literal>. \ + * ? [ ^ ] $ ( ) { } = ! < > | : - #</literal>
</para>
<para>
注意 <literal>/</literal> 不是正则表达式特殊字符。
</para>
<note>
<para>
注意:<function>preg_quote</function> 的应用场景不是用于 <function>preg_replace</function> 的 $replacement 字符串参数。
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>str</parameter></term>
<listitem>
<para>
输入字符串
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>delimiter</parameter></term>
<listitem>
<para>
如果指定了可选参数 <parameter>delimiter</parameter>,它也会被转义。这通常用于
转义PCRE函数使用的分隔符。 <literal>/</literal> 是最常见的分隔符。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
返回转义后的字符串。
</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>7.3.0</entry>
<entry>
字符 <literal>#</literal> 被增加为需要转义的。
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
<parameter>delimiter</parameter> 现在可为 null。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>preg_quote</function>示例</title>
<programlisting role="php">
<![CDATA[
<?php
$keywords = '$40 for a g3/400';
$keywords = preg_quote($keywords, '/');
echo $keywords; // 返回 \$40 for a g3\/400
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>将文本中的单词替换为斜体</title>
<programlisting role="php">
<![CDATA[
<?php
//在这个例子中,preg_quote($word) 用于保持星号原文涵义,使其不使用正则表达式中的特殊语义。
$textbody = "This book is *very* difficult to find.";
$word = "*very*";
$textbody = preg_replace ("/" . preg_quote($word, '/') . "/",
"<i>" . $word . "</i>",
$textbody);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
¬e.bin-safe;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="pcre.pattern">PCRE 模式</link></member>
<member><function>escapeshellcmd</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
-->