当前位置: 首页> 函数类别大全> 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>
同类函数
  • 执行正则表达式匹配 preg_match

    preg_match

    执行正则表达式匹配
  • 通过一个正则表达式分隔字符串 preg_split

    preg_split

    通过一个正则表达式分隔字符串
  • 执行一个正则表达式的搜索和替换 preg_replace

    preg_replace

    执行一个正则表达式的搜索和替换
  • 返回匹配模式的数组条目 preg_grep

    preg_grep

    返回匹配模式的数组条目
  • 转义正则表达式字符 preg_quote

    preg_quote

    转义正则表达式字符
  • 执行正则表达式搜索并使用回调替换 preg_replace_callback_array

    preg_replace_callback_array

    执行正则表达式搜索并使用回调替换
  • 返回上一次PCRE正则表达式执行的错误消息 preg_last_error_msg

    preg_last_error_msg

    返回上一次PCRE正则表达式执行的错误消
  • 执行正则表达式搜索和替换 preg_filter

    preg_filter

    执行正则表达式搜索和替换