当前位置: 首页> 函数类别大全> preg_last_error

preg_last_error

返回最后一个PCRE正则执行产生的错误代码
名称:preg_last_error
分类:正则处理PCRE
所属语言:php
一句话介绍:返回错误代码,指示最近的正则表达式调用失败的原因。

实例

使用 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>
同类函数
热门文章