php正则为css和js链接增加版本信息(示例)

发布时间:2020-05-24编辑:脚本学堂
分享下使用正则为css和js链接增加版本信息的方法,有需要的朋友参考下。

例子,使用正则为css和js链接增加版本信息的代码。
 

复制代码 代码示例:

<?php

$html = <<< HTML
<style type="text/css">import url("/css.css?a=1");</style>
<link rel="stylesheet" type="text/css href="http://img.jb200.com/css/main.css"" media="all">
<link href="http://img.jb200.com/css/index.css" type="text/css" rel="stylesheet" media="all">
<script type='text/javascript' src='/js/jquery/jquery.js'></script>
<script src='/js/jquery/colorbox/min.js?v=1329959498' type='text/javascript'></script>
HTML;
 
$ver    = '1.0.3';
$p      = "/(<style.*?url(['"]|<(?:link|script).*?(?:href|src)=["'])([^'"]+)/i";
$html   = preg_replace_callback($p, create_function('$m', 'return $m[1].$m[2].(strpos($m[2], "?")?"&":"?")."_v='.$ver.'";'), $html);
echo $html;
 

执行结果:
 

<style type="text/css">import url("/css.css?a=1&_v=1.0.3");</style>
<link rel="stylesheet" type="text/css href="http://img.jb200.com/css/main.css?_v=1.0.3"" media="all">
<link href="http://img.jb200.com/css/index.css?_v=1.0.3" type="text/css" rel="stylesheet" media="all">
<script type='text/javascript' src='/js/jquery/jquery.js?_v=1.0.3'></script>
<script src='/js/jquery/colorbox/min.js?v=1329959498&_v=1.0.3' type='text/javascript'></script>