探索 PHP 正则表达式:从基础匹配到复杂文本处理

2025-12-10 24阅读

正则表达式是 PHP 处理文本的 “瑞士军刀”—— 无论是验证手机号格式、提取字符串中的关键信息,还是批量替换内容,都能高效完成。本文通过 3 个实用场景,带你快速掌握 PHP 正则的核心用法。

202410231729651256362192.jpg

一、正则基础:核心函数

PHP 中处理正则的核心函数是preg_match()(匹配一次)、preg_match_all()(匹配所有)、preg_replace()(替换)。

二、实战 1:验证手机号格式

<?php
$phone = "13812345678";
// 匹配国内手机号(11位,以13/14/15/17/18开头)
$pattern = "/^1[34578]\d{9}$/";
if (preg_match($pattern, $phone)) {
  echo "手机号格式正确";
} else {
  echo "手机号格式错误";
}
?>

三、实战 2:提取字符串中的邮箱

<?php
$content = "我的邮箱是a@example.com,备用邮箱是b@test.cn";
$pattern = "/\w+@\w+\.\w+/";
preg_match_all($pattern, $content, $matches);
echo "提取的邮箱:" . implode(", ", $matches[0]); // 输出a@example.com, b@test.cn
?>

四、实战 3:批量替换敏感词

<?php
$text = "这是一段包含敏感词的内容";
$sensitive = ["敏感词"];
$pattern = "/(" . implode("|", $sensitive) . ")/";
$newText = preg_replace($pattern, "***", $text);
echo $newText; // 输出“这是一段包含***的内容”
?>

总结

PHP 正则表达式通过 “模式匹配” 实现高效文本处理,掌握基础语法 + 核心函数,就能应对大部分文本验证、提取、替换场景。复杂场景可借助在线正则工具(如 Regex101)辅助调试。


文章版权声明:除非注明,否则均为Dark零点博客原创文章,转载或复制请以超链接形式并注明出处。

目录[+]