拆分字符串与实用模式
使用 preg_split 拆分字符串,并构建常见的验证模式。
拆分字符串与实用模式 是 CoddyKit 上的免费 PHP Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 PHP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 PHP Academy 课程共包含 4 节课。
preg_split() 函数签名
preg_split($pattern, $subject, $limit, $flags) 使用正则表达式分隔符拆分字符串,并返回子字符串数组。
简单拆分
按任意空白字符序列进行拆分。
<?php
$words = preg_split('/\s+/', "Hello World\tFoo");
print_r($words); // ["Hello", "World", "Foo"]限制拆分数量
第 3 个参数限制返回的片段数量。最后一个片段包含剩余内容。
<?php
$parts = preg_split('/,\s*/', "a, b, c, d", 3);
print_r($parts); // ["a", "b", "c, d"]PREG_SPLIT_NO_EMPTY
PREG_SPLIT_NO_EMPTY 标志会从结果中移除空字符串——当输入包含连续分隔符时非常有用。
<?php
$parts = preg_split('/,/', "a,,b,,c", -1, PREG_SPLIT_NO_EMPTY);
print_r($parts); // ["a", "b", "c"]PREG_SPLIT_DELIM_CAPTURE
将分隔符(及其捕获组)包含在结果数组中。
<?php
$parts = preg_split('/(,)/', "a,b,c", -1, PREG_SPLIT_DELIM_CAPTURE);
print_r($parts); // ["a", ",", "b", ",", "c"]电子邮件验证模式
一个实用的 RFC-5322 简化版电子邮件正则表达式:
<?php
function validEmail(string $s): bool {
return (bool) preg_match(
'/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/',
$s
);
}URL 验证模式
验证 http/https URL。
<?php
function validUrl(string $s): bool {
return (bool) preg_match(
'#^https?://[\w\-]+(\.[\w\-]+)+(/[^\s]*)?$#i',
$s
);
}电话号码模式
允许可选的国家/地区代码,以及数字组之间的连字符、点号或空格。
<?php
$pattern = '/^\+?[1-9]\d{0,2}[\s\-.]?\d{3}[\s\-.]?\d{4,7}$/';
preg_match($pattern, '+1 800 555-1234', $m);密码强度模式
至少需要 8 个字符,其中包含一个大写字母、一个数字和一个特殊字符。
<?php
function strongPassword(string $p): bool {
return preg_match('/^(?=.*[A-Z])(?=.*\d)(?=.*[^\w]).{8,}$/', $p);
}IPv4 地址模式
验证 IPv4 地址(每个八位组的范围为 0 到 255)。
<?php
$ipv4 = '/^(25[0-5]|2[0-4]\d|[01]?\d\d?)(\.(25[0-5]|2[0-4]\d|[01]?\d\d?)){3}$/';日期格式模式
验证 YYYY-MM-DD 格式的日期字符串。
<?php
$date = '/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/';
var_dump((bool) preg_match($date, '2025-06-15')); // true总结
preg_split 按模式拆分字符串。电子邮件、URL、电话号码和日期都有实用的模式——对于标准类型,请始终优先使用 filter_var。
快速检查
哪个标志会从 preg_split 结果中移除空字符串?
常见问题解答
「拆分字符串与实用模式」课时是免费的吗?
是的 — 「拆分字符串与实用模式」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 PHP Academy 课程的其余内容,请升级到 CoddyKit PRO。 PHP Academy 课程共包含 4 节课。
「拆分字符串与实用模式」这节课中我会学到什么?
使用 preg_split 拆分字符串,并构建常见的验证模式。 你通过在浏览器中直接运行的动手代码来练习 PHP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 PHP Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 PHP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「拆分字符串与实用模式」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 PHP Academy 课中编写并运行代码吗?
能。每节 PHP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。