将 split() 转换为 preg_split() [重复]

问题描述 投票:0回答:1

newbee在这里...

我正在尝试替换网站中的 split() 函数,因此我找到了 preg_split() 来使用。首先必须了解 split() 函数是如何工作的,所以我在 php.net 站点上查看了这个示例:

<?php
// Delimiters may be slash, dot, or hyphen
$date = "04-30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />\n";
?>

输出符合预期: 月份:04;天:30;年份:1973年

所以我认为这很容易,只需将其更改为:

<?php
// Delimiters may be slash, dot, or hyphen
$date = "04-30/1973";
list($month, $day, $year) = preg_split('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />\n";
?>

输出: 月份:04-30/1973;天: ;年份:

我的想法有什么问题吗?

php split preg-split
1个回答
2
投票

只需添加一些符号来定义正则表达式的开始/结束。可以是

~
,例如:

$date = "04-30/1973";
list($month, $day, $year) = preg_split('~[/.-]~', $date);
echo "Month: $month; Day: $day; Year: $year<br />\n";

更新

如果您的代码使用

/
作为正则表达式边框,那么您必须使用反斜杠转义
/

list($month, $day, $year) = preg_split('/[\/.-]/', $date);
© www.soinside.com 2019 - 2024. All rights reserved.