【发布时间】:2021-04-09 02:38:45
【问题描述】:
我需要使用 preg_replace 在图像路径上附加一个查询字符串以进行缓存清除。
目前我正在使用以下内容,但它不考虑图像扩展已经有查询字符串的边缘情况。
$html = preg_replace('/\.(jpg|png|gif|jpeg)/i', '.${1}?v=1', $html);
如何排除后跟问号的匹配项?
非常感谢您的帮助。
【问题讨论】:
标签: php preg-replace
我需要使用 preg_replace 在图像路径上附加一个查询字符串以进行缓存清除。
目前我正在使用以下内容,但它不考虑图像扩展已经有查询字符串的边缘情况。
$html = preg_replace('/\.(jpg|png|gif|jpeg)/i', '.${1}?v=1', $html);
如何排除后跟问号的匹配项?
非常感谢您的帮助。
【问题讨论】:
标签: php preg-replace
我认为这个页面可以帮助你解决这个问题。
https://javascript.info/regexp-lookahead-lookbehind
对于您的场景,试试这个正则表达式:/\.(jpg|png|gif|jpeg)(?!\?)/i。
【讨论】: