我正在编写一个快速的php脚本,并且面临以下问题。
我需要通过一个html代码,找到以下“行类型”
<p>2:45 text goes here</p>
其中2:45是时间戳记,文本在此处是可变文本,并将其替换为
<li>same timestamp same text goes here</li>
因为html中有许多<p>
,所以不能进行str替换,这就是我要寻找正则表达式模式的原因。
我还注意到我还有另一个可能的匹配项:
<p>43:41 - text goes here</p>
只要我可以将开头的p更改为li并删除将成为我一天的破折号即可。
我对regex相当不满意,所以我实在无法绕开它,因此我们非常感谢您的帮助。
干杯!
答案 0 :(得分:1)
匹配
<p>(\d+:\d+ ((?!<\/p>).)+)<\/p>
换句话说,在<p>
之后加上时间戳,最终以</p>
结尾,将<p>
内的整个文本捕获到一个组中,并用{ {1}}:
<li>
https://regex101.com/r/sC8RfZ/1
<li>$1</li>