我认为自己相当聪明,但除了简单的正则表达式之外的任何东西都会让我头晕目眩。我很害怕。
我正在试图找出一个preg_replace来替换所有图像链接并添加一个时间戳(通常的傻瓜缓存技巧)。所以我要找的是一个需要
的正则表达式blah blah blah <a href='blah>blah</a> blah <img src="http://blah.com/test.jpg" /> blah blah <a href="blah"><img src='/tester.jpg' /></a> blah blah
并将其变为
blah blah blah <a href='blah>blah</a> blah <img src="http://blah.com/test.jpg?timestamp=123" /> blah blah <a href="blah"><img src='/tester.jpg?timestamp=123' /></a> blah blah.
是否可以在单个preg_replace中执行此操作?如果没有,有关最佳方法的任何建议吗?
答案 0 :(得分:1)
HTML解析并不那么简单。 但你可以尝试这样的事情:
$search = "/(\<img[^>]+src=)(['\"])([^'\"]+)['\"]/i";
$result = preg_replace($search, '\1\2\3?timestamp='.$ts.'\2', $input);
答案 1 :(得分:1)
您可以通过JQuery函数运行您的页面:
var timestamp = '?timestamp=123';
$('img').each(function () {
if ($(this).attr('src')) {
$(this).attr('src', ($(this).attr('src') + timestamp));
}
});