style="background-image:url(img/login_08.gif)
等 凡是有以上类型的 以 images img js css 开头的 js 图片css文件
src 或 href = 或 background-image:url() 双引号的 单引号的 无引号的
都能自动加上一个 /template/进去
变成 比如
style="background-image:url(/template/img/login_08.gif)
谢谢
$html = preg_replace('#(images|img|js|css)/#i', 'template/$1/', $html);
在这个基础上改进,这个不能判断是不是 src= href= 还有 有没单双引号
$s =<<< TXT<link href="Images/Style.Css" rel="stylesheet" type="text/css" /> style="background-image:url(img/login_08.gif)<script language="JavaScript" type="text/javascript" src="js/ajax.js"></script><img src="img/login_05.gif" />TXT;echo preg_replace('/(href\s*=\s*|url\(|src\s*=\s*)(["\']?)/', '$1$2/template/', $s);
<link href="/template/Images/Style.Css" rel="stylesheet" type="text/css" /> style="background-image:url(/template/img/login_08.gif)<script language="JavaScript" type="text/javascript" src="/template/js/ajax.js"></script><img src="/template/img/login_05.gif" />
老大 能再加个限制不
只有 带 images js 或 css 开头的路径 才会插入一个 /template/
变成 /template/images/ 或 /template/js/ 或 /template/css/
而其他的 比如 img/ 开头的 则不变化
根据唠叨前辈的代码修改
$s ='<link href="Images/Style.Css" rel="stylesheet" type="text/css" /> style="background-image:url(img/login_08.gif)<script language="JavaScript" type="text/javascript" src="js/ajax.js"></script><img src="img/login_05.gif" />';echo preg_replace('/(href\s*=\s*|url\(|src\s*=\s*)(["\']?)(Images|js|css)/', '$1$2/template/$3', $s);
<link href="/template/Images/Style.Css" rel="stylesheet" type="text/css" /> style="background-image:url(img/login_08.gif)<script language="JavaScript" type="text/javascript" src="/template/js/ajax.js"></script>
谢谢两位 完美了!