欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求大神写个PHP正则函数 自动能识别修改 图片 CSS JS 的路径

程序员文章站 2022-04-19 10:14:07
...

style="background-image:url(img/login_08.gif)

求大神写个PHP正则函数 自动能识别修改 图片 CSS JS 的路径

等 凡是有以上类型的 以 images img js css 开头的 js 图片css文件
src 或 href = 或 background-image:url() 双引号的 单引号的 无引号的
都能自动加上一个 /template/进去
变成 比如


style="background-image:url(/template/img/login_08.gif)

求大神写个PHP正则函数 自动能识别修改 图片 CSS JS 的路径

谢谢

$html = preg_replace('#(images|img|js|css)/#i', 'template/$1/', $html);

在这个基础上改进,这个不能判断是不是 src= href= 还有 有没单双引号


回复讨论(解决方案)

$s =  style="background-image:url(img/login_08.gif)求大神写个PHP正则函数 自动能识别修改 图片 CSS JS 的路径TXT;echo preg_replace('/(href\s*=\s*|url\(|src\s*=\s*)(["\']?)/', '$1$2/template/', $s);

  style="background-image:url(/template/img/login_08.gif)求大神写个PHP正则函数 自动能识别修改 图片 CSS JS 的路径

老大 能再加个限制不

只有 带 images js 或 css 开头的路径 才会插入一个 /template/
变成 /template/images/ 或 /template/js/ 或 /template/css/

而其他的 比如 img/ 开头的 则不变化

根据唠叨前辈的代码修改

$s =' style="background-image:url(img/login_08.gif)求大神写个PHP正则函数 自动能识别修改 图片 CSS JS 的路径';echo preg_replace('/(href\s*=\s*|url\(|src\s*=\s*)(["\']?)(Images|js|css)/', '$1$2/template/$3', $s);


执行

 style="background-image:url(img/login_08.gif)

谢谢两位 完美了!