php - 正则表达式解析视频持续时间字符串

标签 php regex

我想在评论中找到所有视频持续时间链接并将它们转换为 anchor 标签。

持续时间可能如下所示:

01:20:55 (h:m:s)
20:30 (m:s)
1:21 (m:s)
1:35:12 (h:m:s)

我觉得我可能很接近,但对正则表达式还是很陌生

http://regexr.com/3bfmu

^([\d]{1,2}\:)?([\d]{1,2})?\:([\d]{1,2})$

在此上下文中使用:

$parsedTimeCommentString = preg_replace("/^([\d]{1,2}\:)?([\d]{1,2})?\:([\d]{1,2})$/", 
"<a href=\"#\" class=\"video-seek\" data-seek=\"$1:$2:$3\">$1:$2:$3</a>",
 $comment['comment']);

最佳答案

删除 anchor ,并使用非捕获组来禁止冒号:

(?:(\d{1,2}):)?(\d{1,2}):(\d{2})

Live Demo

关于php - 正则表达式解析视频持续时间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31662258/

相关文章:

javascript - 使用 JavaScript 查找电话号码并提供链接

mysql - 转换器 Perl 脚本修复

java - 获取使用 3 个空格作为指定字符串第一次出现的子字符串以返回索引

php - 自动从字符串生成摘要

java - 使用正则表达式,如何在Java中找到比字符串中的数字大的两位数字

c++ - Flex Lexer 模式匹配句子分隔符/标点符号作为 URL 路径部分

php - 这样更新sql怎么办?

javascript - jQuery AJAX 发送的 JSON 对象的 post 方法中未定义索引

javascript - 如何将javascript作为函数参数

javascript - 使用 jQuery Ajax 将 javascript 变量发送到 PHP 脚本