mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-19 06:16:58 +08:00
268 lines
11 KiB
HTML
268 lines
11 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||
<title>通过一个正则表达式分隔字符串</title>
|
||
</head>
|
||
<body class="docs"><div id="layout">
|
||
<div id="layout-content"><div id="function.preg-split" class="refentry">
|
||
<div class="refnamediv">
|
||
<h1 class="refname">preg_split</h1>
|
||
<p class="verinfo">(PHP 4, PHP 5, PHP 7)</p><p class="refpurpose"><span class="refname">preg_split</span> — <span class="dc-title">通过一个正则表达式分隔字符串</span></p>
|
||
|
||
</div>
|
||
|
||
<div class="refsect1 description" id="refsect1-function.preg-split-description">
|
||
<h3 class="title">说明</h3>
|
||
<div class="methodsynopsis dc-description">
|
||
<span class="methodname"><strong>preg_split</strong></span>
|
||
( <span class="methodparam"><span class="type">string</span> <code class="parameter">$pattern</code></span>
|
||
, <span class="methodparam"><span class="type">string</span> <code class="parameter">$subject</code></span>
|
||
[, <span class="methodparam"><span class="type">int</span> <code class="parameter">$limit</code><span class="initializer"> = -1</span></span>
|
||
[, <span class="methodparam"><span class="type">int</span> <code class="parameter">$flags</code><span class="initializer"> = 0</span></span>
|
||
]] ) : <span class="type">array</span></div>
|
||
|
||
<p class="para rdfs-comment">
|
||
通过一个正则表达式分隔给定字符串.
|
||
</p>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 parameters" id="refsect1-function.preg-split-parameters">
|
||
<h3 class="title">参数</h3>
|
||
<p class="para">
|
||
<dl>
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">pattern</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
用于搜索的模式,字符串形式。
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">subject</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
输入字符串
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">limit</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
如果指定,将限制分隔得到的子串最多只有<code class="parameter">limit</code>个,返回的最后一个
|
||
子串将包含所有剩余部分。<code class="parameter">limit</code>值为-1, 0或null时都代表"不限制",
|
||
作为php的标准,你可以使用null跳过对<code class="parameter">flags</code>的设置。
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">flags</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
<code class="parameter">flags </code>可以是任何下面标记的组合(以位或运算 <em>|</em> 组合):
|
||
<dl>
|
||
|
||
|
||
<dt>
|
||
<strong><code>PREG_SPLIT_NO_EMPTY</code></strong></dt>
|
||
|
||
<dd>
|
||
|
||
<span class="simpara">
|
||
如果这个标记被设置, <span class="function"><strong>preg_split()</strong></span> 将仅返回分隔后的非空部分。
|
||
</span>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<strong><code>PREG_SPLIT_DELIM_CAPTURE</code></strong></dt>
|
||
|
||
<dd>
|
||
|
||
<span class="simpara">
|
||
如果这个标记设置了,用于分隔的模式中的括号表达式将被捕获并返回。
|
||
</span>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<strong><code>PREG_SPLIT_OFFSET_CAPTURE</code></strong></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
如果这个标记被设置, 对于每一个出现的匹配返回时将会附加字符串偏移量.
|
||
注意:这将会改变返回数组中的每一个元素, 使其每个元素成为一个由第<em>0</em>
|
||
个元素为分隔后的子串,第<em>1</em>个元素为该子串在<code class="parameter">subject</code>
|
||
中的偏移量组成的数组。
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
</dl>
|
||
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
</dl>
|
||
|
||
</p>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 returnvalues" id="refsect1-function.preg-split-returnvalues">
|
||
<h3 class="title">返回值</h3>
|
||
<p class="para">
|
||
返回一个使用 <code class="parameter">pattern</code> 边界分隔 <code class="parameter">subject</code> 后得到
|
||
的子串组成的数组, 或者在失败时返回 <strong><code>FALSE</code></strong>。
|
||
</p>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 examples" id="refsect1-function.preg-split-examples">
|
||
<h3 class="title">范例</h3>
|
||
<p class="para">
|
||
<div class="example" id="example-5877">
|
||
<p><strong>Example #1 <span class="function"><strong>preg_split()</strong></span>示例:获取搜索字符串的部分</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">//使用逗号或空格(包含" ", \r, \t, \n, \f)分隔短语<br /></span><span style="color: #0000BB">$keywords </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_split</span><span style="color: #007700">(</span><span style="color: #DD0000">"/[\s,]+/"</span><span style="color: #007700">, </span><span style="color: #DD0000">"hypertext language, programming"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$keywords</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
<div class="example-contents"><p>以上例程会输出:</p></div>
|
||
<div class="example-contents screen">
|
||
<div class="cdata"><pre>
|
||
Array
|
||
(
|
||
[0] => hypertext
|
||
[1] => language
|
||
[2] => programming
|
||
)
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</p>
|
||
<p class="para">
|
||
<div class="example" id="example-5878">
|
||
<p><strong>Example #2 将一个字符串分隔为组成它的字符</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br />$str </span><span style="color: #007700">= </span><span style="color: #DD0000">'string'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$chars </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_split</span><span style="color: #007700">(</span><span style="color: #DD0000">'//'</span><span style="color: #007700">, </span><span style="color: #0000BB">$str</span><span style="color: #007700">, -</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">PREG_SPLIT_NO_EMPTY</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$chars</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
<div class="example-contents"><p>以上例程会输出:</p></div>
|
||
<div class="example-contents screen">
|
||
<div class="cdata"><pre>
|
||
Array
|
||
(
|
||
[0] => s
|
||
[1] => t
|
||
[2] => r
|
||
[3] => i
|
||
[4] => n
|
||
[5] => g
|
||
)
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</p>
|
||
<p class="para">
|
||
<div class="example" id="example-5879">
|
||
<p><strong>Example #3 分隔一个字符串并获取每部分的偏移量</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br />$str </span><span style="color: #007700">= </span><span style="color: #DD0000">'hypertext language programming'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$chars </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_split</span><span style="color: #007700">(</span><span style="color: #DD0000">'/ /'</span><span style="color: #007700">, </span><span style="color: #0000BB">$str</span><span style="color: #007700">, -</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">PREG_SPLIT_OFFSET_CAPTURE</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$chars</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
<div class="example-contents"><p>以上例程会输出:</p></div>
|
||
<div class="example-contents screen">
|
||
<div class="cdata"><pre>
|
||
Array
|
||
(
|
||
[0] => Array
|
||
(
|
||
[0] => hypertext
|
||
[1] => 0
|
||
)
|
||
|
||
[1] => Array
|
||
(
|
||
[0] => language
|
||
[1] => 10
|
||
)
|
||
|
||
[2] => Array
|
||
(
|
||
[0] => programming
|
||
[1] => 19
|
||
)
|
||
|
||
)
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</p>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 notes" id="refsect1-function.preg-split-notes">
|
||
<h3 class="title">注释</h3>
|
||
<div class="tip"><strong class="tip">Tip</strong>
|
||
<p class="para">
|
||
如果你不需要正则表达式功能,可以有更快(并且更简单)的选择比如 <span class="function"><a href="explode.html" class="function">explode()</a></span>
|
||
或 <span class="function"><a href="str_split.html" class="function">str_split()</a></span>。
|
||
</p>
|
||
</div>
|
||
<div class="tip"><strong class="tip">Tip</strong>
|
||
<p class="para">
|
||
如果没有成功匹配,将会返回一个数组,包含了单个元素,即输入的字符串。
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 seealso" id="refsect1-function.preg-split-seealso">
|
||
<h3 class="title">参见</h3>
|
||
<p class="para">
|
||
<ul class="simplelist">
|
||
<li class="member"><a href="pcre.pattern.html" class="link">PCRE 模式</a></li>
|
||
<li class="member"><span class="function"><a href="preg_quote.html" class="function" rel="rdfs-seeAlso">preg_quote()</a> - 转义正则表达式字符</span></li>
|
||
<li class="member"><span class="function"><a href="implode.html" class="function" rel="rdfs-seeAlso">implode()</a> - 将一个一维数组的值转化为字符串</span></li>
|
||
<li class="member"><span class="function"><a href="preg_match.html" class="function" rel="rdfs-seeAlso">preg_match()</a> - 执行匹配正则表达式</span></li>
|
||
<li class="member"><span class="function"><a href="preg_match_all.html" class="function" rel="rdfs-seeAlso">preg_match_all()</a> - 执行一个全局正则表达式匹配</span></li>
|
||
<li class="member"><span class="function"><a href="preg_replace.html" class="function" rel="rdfs-seeAlso">preg_replace()</a> - 执行一个正则表达式的搜索和替换</span></li>
|
||
<li class="member"><span class="function"><a href="preg_last_error.html" class="function" rel="rdfs-seeAlso">preg_last_error()</a> - 返回最后一个PCRE正则执行产生的错误代码</span></li>
|
||
</ul>
|
||
</p>
|
||
</div>
|
||
|
||
|
||
</div></div></div></body></html> |