我在PHP中有一个巨大的字符串。在它有许多网址字符串,如:
background: #9dc9de url("@{base-url}/img/background.jpg") center top no-repeat;
查看整个字符串的最佳方法是什么,查找任何url字符串并在扩展名之前根据当前时间戳插入哈希代码以获得结果,例如:
background: #9dc9de url("@{base-url}/img/background_013857308.jpg") center top no-repeat;
我目前正在根据一些参数尝试explode
,但这绝对不是一个干净的想法。
答案 0 :(得分:1)
您不应该在生产服务器中使用该方法,因为您将每次调用所有文件而不是从缓存中获取它们。但对于开发服务器来说这可能是一个好主意。
我会用:
$tm = time();
$css = str_ireplace( array('.jpg', '.gif', '.png'), array('.jpg?t='.$tm, '.gif?t='.$tm, '.png?t='.$tm), $css );
答案 1 :(得分:0)
我想出了preg_match_all('/\("([^"]+)"\)/', $content, $matches);
,它匹配括号和双引号内的任何内容。