如何使用 preg_split() 而不是 split()
how to use preg_split() instead of 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";
?>
输出:
月份:04-30/1973;日: ;年份:
我的想法有什么问题吗?
只需添加一些符号来定义正则表达式start/end。可以是~
,例如:
$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);
这里是 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;日: ;年份:
我的想法有什么问题吗?
只需添加一些符号来定义正则表达式start/end。可以是~
,例如:
$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);