Home  >  Article  >  Backend Development  >  关于匹配本文中几小时几分钟的问题

关于匹配本文中几小时几分钟的问题

WBOY
WBOYOriginal
2016-06-23 13:56:18991browse

一段文本可能会出现这样几种情况:
用了 1小时43分钟
用了 1小时
用了 43分钟

要实现的是从文本中匹配出这个时间,即加粗部分
现在想到的正则表达式是preg_match('/([0-9]+小时[0-9]+分钟|[0-9]+小时|[0-9]+分钟)/is', $txt, $matches)
虽然能够正确匹配出想要的结果,但是感觉不够简洁,请问如何改进?


回复讨论(解决方案)

加粗只是视觉效果,分开来加并无影响

$s =<<< TXT一段文本可能会出现这样几种情况:用了1小时43分钟用了1小时用了43分钟TXT;echo preg_replace('/\d+(小时|分钟)/', '<b>$0</b>', $s);
一段文本可能会出现这样几种情况:用了<b>1小时</b><b>43分钟</b>用了<b>1小时</b>用了<b>43分钟</b>

我不是为了加粗,是为了提取出加粗部分这样子的文字。会有三种情况,就是包含小时和分钟、只有小时、只有分钟。

加粗只是视觉效果,分开来加并无影响

$s =<<< TXT一段文本可能会出现这样几种情况:用了1小时43分钟用了1小时用了43分钟TXT;echo preg_replace('/\d+(小时|分钟)/', '<b>$0</b>', $s);
一段文本可能会出现这样几种情况:用了<b>1小时</b><b>43分钟</b>用了<b>1小时</b>用了<b>43分钟</b>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn