首页 > 解决方案 > PHP将HTML中的文件扩展名更改为纯文本

问题描述

我想在 PHP 输出的 HTML 代码中更改文件扩展名。可能使用正则表达式,这是我真的无法处理的事情..

...some code...<img data-src='https://static.example.com/gallery/image.jpg'>...some code...

应该改为

...some code...<img data-src='https://static.example.com/gallery/image.webp'>...some code...

请注意:

谢谢你。

标签: phpregex

解决方案


像这样简单的东西怎么样:

(?<='https:\/\/static\.example\.com\/gallery\/)(.*?)(\..*?)(?=')

如 regex101.com 所示

解释:

我们在此使用正则表达式肯定后向查找,(?<=)以确保匹配必须以站点名称开头。如果您希望站点名称也可变,那完全是“另一个问题”。

只要将站点名称固定为static.example.com/gallery/,我们就可以捕获第一个括号中的文件名(捕获组1),捕获组2中的点+扩展名。然后我们可以将这个匹配替换为文件名(第一个捕获组$1)和新的 dot+extension .webp


推荐阅读