首頁 > 後端開發 > php教程 > 关于匹配本文中几小时几分钟的问题

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-23 13:56:18
原創
1096 人瀏覽過

一段文本可能会出现这样几种情况:
用了 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板