我有一个包含大量数据的数组。索引之一为用户提供了一串数字,稍后我将使用javascript将其转换为可读格式。字符串如下:
$dueDate = "1111-11-11T11:11";
我通过以下代码获得该值:
$dueDate = $_POST['dueDate'];
我需要从字符串中删除'-','T'和':'字符。我已经尝试过trim()函数和str_replace()函数,但仍然无法正常工作。
我希望使用内置函数,而不是遍历字符串。但是,如果那不可能,我知道我可以将字符串转换成数组并遍历它。
由于您使用日期字符串,并且很可能也想验证POST输入,因此您最好使用datetime。从预期的输入格式进行解析,如果无法解析则是免费验证。。然后将日期格式化为所需的输出格式。
<?php
// example, not copy and paste
if (!$date = DateTime::createFromFormat('Y-m-d\TH:i', $_POST['dueDate'])) {
echo 'Invalid date';
} else {
echo $date->format('Ymdhi');
}
您可以很容易地通过str_replace
完成此操作。In the docs表示search
和replacement
值的参数可以是数组。
您可以执行以下操作:
$dueDate = str_replace(['-','T', ':'], '', $dueDate);
更复杂替换的替代方法是使用正则表达式通过preg_replace