【发布时间】:2013-11-05 09:00:08
【问题描述】:
我需要解析一个字符串并为不符合我的媒体播放器队列的正常格式的电视节目名称替换特定格式。
一些例子
Show.Name.2x01.HDTV.x264 应该是 Show.Name.S02E01.HDTV.x264
Show.Name.10x05.HDTV.XviD 应该是 Show.Name.S10E05.HDTV.XviD
在节目名称之后,x 之前可能有 1 或 2 位数字,我希望输出始终是带两位数字的 S,因此如果需要,请添加前导零。在 x 之后,它应该始终是带有两位数的 E。
我浏览了 preg_replace、split 和 match 函数的手册页,但不太清楚我应该在这里做什么。我可以将我想要的字符串部分与/\dx\d{2}/ 匹配,所以我想首先检查字符串是否具有该模式,然后尝试找出如何将这些部分从匹配中拆分出来,但我没有得到任何结果。
我最擅长使用示例,因此,如果您能用示例为我指明正确的方向,那就太好了。我现在唯一的测试区域是 PHP 4 安装,所以请不要指定 PHP 5 的具体说明,一旦我了解发生了什么,我可能会在以后为 PHP 5 更新它(如果需要):)
【问题讨论】:
-
please no PHP 5 specific directions-- 为什么不呢?为什么要使用古老的 PHP 版本?为什么不想升级到更新的版本? -
我的媒体服务器运行它自己的 php4 后端,我现在不想乱用它。这是另一个问题=/
-
你试过什么?请给我们看一些代码。没有人会安装 PHP 4 并为您完成工作。
-
我不会要求任何人这样做,提供的各种代码示例似乎都可以达到目标,所以这正是我所要求的。
标签: php regex preg-replace preg-match preg-split