php - 在文本中查找并替换日期/时间并将其设为粗体

标签 php regex

我在 Stackoverflow 上搜索了一些对此的答案,并尝试了多种方法来使这项工作没有成功。所以我希望外面的天才能够帮助我。

我正在从一个数据库中检索文本,该文本中包含日期/时间 (dd/mm/yy hh:mm:ss) 我想将正则表达式找到的所有实例加粗这种格式的日期。

例如:

09/09/2013 16:42:01 Australia/West (Fake Name):

09/09/2013 15:44:01 (alert) alert stage 2

09/09/2013 15:38:55 Australia/West (Fake Name): 2 of the at Store have come back online.

09/09/2013 15:33:17 Australia/West (Fake Name): Store is having issues with their all 3. loading". Investigating.

09/09/2013 15:30:02 Australia/West (Fake Name):

看起来像这样:

09/09/2013 16:42:01 Australia/West (Fake Name):

09/09/2013 15:44:01 (alert) alert stage 2

09/09/2013 15:38:55 Australia/West (Fake Name): 2 of the at Store have come back online.

09/09/2013 15:33:17 Australia/West (Fake Name): Store is having issues with their all 3. loading". Investigating.

09/09/2013 15:30:02 Australia/West (Fake Name):

我已将此正则表达式用于日期/时间:

preg_match_all('/^\d{2}\/\d{2}\/\d{4} \d{2}:\d{2}:\d{2}/',$text,$matches);

使用此代码:

foreach ($matches as $res) 
{
    $replaceStr = "<strong>" . $res . "</strong>";
    str_replace($res, $replaceStr, $text);
}

但它似乎只在文本中找到 1 个匹配项,所以我需要一点帮助。

最佳答案

不需要 foreach 循环:

preg_replace('/^\d{2}\/\d{2}\/\d{4} \d{2}:\d{2}:\d{2}/m','<strong>$0</strong>', $text);

一次完成所有匹配和替换。

关于php - 在文本中查找并替换日期/时间并将其设为粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18841802/

相关文章:

javascript - 在文本 block 中查找 URL 的正则表达式 (Javascript)

php - 弃用 : Function session_register() is deprecated and Cannot modify header information

php - 检查是否在标题中

php - 两个 while 循环从两个查询中获取数据只显示一个结果

javascript - 检查一个单词是否以元音开头?

java - 从字符串集中推断正则表达式模式,我需要 java 中的算法来创建以下信息

php - Laravel 验证规则 - 获取损坏的规则名称

php - 单击 PHP 按钮加载更多 MYSQL 结果

java - 正则表达式匹配字符串的多个实例

java - 如何使用正则表达式拆分 MCQ(多项选择题)字符串