preg_match_all
执行全局正则表达式匹配
查找字符串中所有 "ain" 的出现:
<span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"The rain in SPAIN falls mainly on the plains."</span><span class="token punctuation">;</span> <span class="token variable">$pattern</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"/ain/i"</span><span class="token punctuation">;</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token function">preg_match_all</span><span class="token punctuation">(</span><span class="token variable">$pattern</span><span class="token punctuation">,</span> <span class="token variable">$str</span><span class="token punctuation">,</span> <span class="token variable">$matches</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token function">print_r</span><span class="token punctuation">(</span><span class="token variable">$matches</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token delimiter important">?></span></span>
使用 PREG_PATTERN_ORDER 设置 matches 数组的结构。在此例中,matches 数组中的每个元素都有正则表达式分组之一的所有匹配项。
<span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"abc ABC"</span><span class="token punctuation">;</span> <span class="token variable">$pattern</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"/((a)b)(c)/i"</span><span class="token punctuation">;</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token function">preg_match_all</span><span class="token punctuation">(</span><span class="token variable">$pattern</span><span class="token punctuation">,</span> <span class="token variable">$str</span><span class="token punctuation">,</span> <span class="token variable">$matches</span><span class="token punctuation">,</span> <span class="token constant">PREG_PATTERN_ORDER</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token function">print_r</span><span class="token punctuation">(</span><span class="token variable">$matches</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token delimiter important">?></span></span>