php - 如何从php字符串中删除特定字符?
问题描述
我有一个包含一堆数据的数组。其中一个索引为用户提供了一串数字,我稍后将使用 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');
}
- DateTime::createFromFormat - https://www.php.net/manual/en/datetime.createfromformat.php
- ->格式() - https://www.php.net/manual/en/datetime.format
推荐阅读
- sapb1 - 期末结算问题
- google-sheets - 谷歌表格FORMULATEXT没有更新
- android - Android Glide - BitmapTransformation() 无法应用于 (android.content.Context)
- python - 循环连续输入,从文件列表中输出数据,如果输入等于q则退出或退出
- c# - 解决 ThreadSafeReference 时领域崩溃
- python - Fastai pip 在安装时产生错误
- sql - 不能使用聚合或子查询
- python - Pygame 屏幕崩溃了,我不知道为什么
- android - 阻止以前版本的 android 应用程序运行
- terraform - Terraform google bootstrap 模块输出项目名称