从用户提供的数据中拆分数字和单词

时间:2017-10-19 08:35:48

标签: php

我的index.php文件中有以下代码

<?php
$string = $_GET['string'];
$month = '';
$day = '';
?>

如果字符串是&#34; apr12&#34;或&#34; 12apr&#34;, 那么$ month应该是&#34; apr&#34;和$ day应该是&#34; 12&#34; 否则$ month&amp; $ day应该是空白的。

1 个答案:

答案 0 :(得分:0)

你可以使用这样的事实:只有数字和月只是字符,所以它可能看起来像这样:

$string = $_GET['string'];
$month = strtolower(preg_replace('/[^a-z]+/i','',$string));
$day = preg_replace('/[^0-9]+/','',$string);
if (!in_array($month, ['jan'/* ... and other valid values */], true)) {
  $month = '';
}
if ($day === '' || (int)$day < 1 || (int)$day > 31) {
  $day = '';
}
// Then validate your input further