首页 > 解决方案 > 如何从php字符串中删除特定字符?

问题描述

我有一个包含一堆数据的数组。其中一个索引为用户提供了一串数字,我稍后将使用 javascript 将其转换为可读格式。字符串如下:

$dueDate = "1111-11-11T11:11";

我使用以下代码获得该值:

$dueDate = $_POST['dueDate'];

我需要从字符串中删除 ' - '、' T ' 和 ' : ' 字符。我已经尝试了 trim() 函数和 str_replace() 函数,但仍然无法正常工作。

我希望使用内置函数而不是遍历字符串。但如果这不可能,我知道我可以将字符串转换为数组并循环遍历它。

标签: phpstringdatepostreplace

解决方案


当您使用日期字符串并且您最有可能想要验证 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');
}

推荐阅读