preg_last_error
返回最后一个PCRE正则执行产生的错误代码
使用 preg_last_error()
处理错误:
<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 single-quoted-string">'这个正则表达式是无效的。'</span><span class="token punctuation">;</span> <span class="token variable">$pattern</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'/invalid//'</span><span class="token punctuation">;</span> <span class="token variable">$match</span> <span class="token operator">=</span> @<span class="token function">preg_match</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 keyword">if</span><span class="token punctuation">(</span><span class="token variable">$match</span> <span class="token operator">===</span> <span class="token constant boolean">false</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// 发生错误</span> <span class="token variable">$err</span> <span class="token operator">=</span> <span class="token function">preg_last_error</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$err</span> <span class="token operator">==</span> <span class="token constant">PREG_INTERNAL_ERROR</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string single-quoted-string">'正则表达式无效。'</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$match</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// 找到匹配项</span> <span class="token keyword">echo</span> <span class="token variable">$matches</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span> <span class="token comment">// 未找到匹配项</span> <span class="token keyword">echo</span> <span class="token string single-quoted-string">'未找到匹配项'</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token delimiter important">?></span></span>