>백엔드 개발 >PHP 튜토리얼 >关于匹配本文中几小时几分钟的问题

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

WBOY
WBOY원래의
2016-06-23 13:56:181050검색

一段文本可能会出现这样几种情况:
用了 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>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.