我的日期格式YYYY-MM-DD HH-MM-SS
是我数据库中的字符串
我想要做的是删除破折号和其他超额和空白。
我在下面尝试了这个;
$date = preg_replace('/\s+-|:/', null, $row['acctstarttime']);
//also tried this
$date = preg_replace('/\s+-|:/', '', $row['acctstarttime']);
这根本不起作用。我用下面的方法解决了这个问题
$date = str_replace(' ', '', preg_replace('/-|:/', null, $row['acctstarttime']));
我认为这不是一个很好的方法,所以我怎样才能删除空格,同时只删除-
,/
,:
等其他符号使用preg_replace
?
提前致谢。
答案 0 :(得分:2)
如果您只想保留数字,请使用\D
- 不是数字
str_replace(' ', '', preg_replace('\D', null, $row['acctstarttime']));
如果您希望保留月份名称的月数使用\W
- 不是字母(字母是字母,数字和'_')
str_replace(' ', '', preg_replace('\D', null, $row['acctstarttime']));
答案 1 :(得分:0)
你可以试试这个:
[-, \/:]
PHP示例
<?php
$re = '/[-, \/:]/';
$str = '2000-11-11 12-12-13';
$subst = '';
$result = preg_replace($re, $subst, $str);
echo $result;
?>