如何从php字符串中删除特定字符?

问题描述 投票:0回答:2

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

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

我通过以下代码获得该值:

$dueDate = $_POST['dueDate'];

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

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

php string date post replace
2个回答
0
投票

由于您使用日期字符串,并且很可能也想验证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');
}

0
投票

您可以很容易地通过str_replace完成此操作。In the docs表示searchreplacement值的参数可以是数组。

您可以执行以下操作:

$dueDate = str_replace(['-','T', ':'], '', $dueDate);

更复杂替换的替代方法是使用正则表达式通过preg_replace

© www.soinside.com 2019 - 2024. All rights reserved.