如何使用preg_split()而不是split()

时间:2017-08-24 09:36:14

标签: php preg-split

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";
?>

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

我的想法有什么问题?

1 个答案:

答案 0 :(得分: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);