如何进行正则表达式替换,在日期字符串中添加字符?

源码客栈 其他问答 1

对于 PHP

我有一个我想要换行的日期。

我有 $date = '2008-09-28 9:19 pm'; 我需要用 br 替换第一个空格才能成为

2008-09-28<br>9:19 pm

如果不是下午之前的第二个空间,我只会 str_replace() 它。

回复

共1条回复 我来回复
  • 源码导航
    这个人很懒,什么都没有留下~
    评论

    如果您希望正则表达式匹配模式并返回两个部分,您可以使用以下内容。但是,考虑到您所做的只是替换 1 个空格,请尝试 str_replace_once 我在正则表达式之后建议的。正则表达式用于复杂的解析,而不是像替换一个空格这样的浪费性使用(无意冒犯)。

    请注意,以下是浏览器代码,所以不要尝试逐字逐句地使用它。以防万一打错字。

    $regex = '/([\d]{4}-[\d]{2}-[\d]{2}) ([\d]{1,2}:[\d]{2} (am|pm))/';
    $match = preg_match($regex, '2008-09-28 9:19 pm');
    print $match[1];  // Returns 2008-09-28
    print $match[2];  // Returns 9:19 pm
    // Or replace:
    preg_replace($regex, '$1<br>$2', $date);
    

    我建议使用以下更快的机制。有关 功能,请参阅此帖子 str_replace_once()

    str_replace_once(' ', '<br>', $date);
    
    0条评论

发表回复

登录后才能评论