我使用插件在图像上添加阴影,并在同一网站上使用灯箱。这是我在wordpress插件编辑中的功能:
function filter($content) {
return preg_replace_callback('#<img.+?src\s*=\s*["|\'](.+?)["|\'].+?>#isu', array($this, 'filter_callback'), $content);
}
它的作用是为所有图像添加一个滤镜,滤镜会添加阴影。但我不希望它将过滤器添加到所有图像。因为当它发生时,它会以某种方式搞砸灯箱。所以我想编辑上面的这一行,以确保只有在特定的div或页面中使用过滤器。或者另一种方式可能是在特定div或页面中不进行过滤。
我很乐意获得一些关于如何编辑这些正则表达式的教程。
答案 0 :(得分:6)
我知道它无处不在,但你为什么不使用CSS3 box-shadow?
答案 1 :(得分:5)
如果您使用的是灯箱,则表示您依赖于您网站上的Javascript。
为什么不让(非常有用)跳转到jQuery并使用jQuery(非常有用)选择器来执行此操作。不要为某些奇怪的位置进行正则表达式,而是执行类似
的操作 $('.lightbox-photo').addClass('filter')
我知道这不是你问题的答案,但我认为这是一个更通用的解决方案。
答案 2 :(得分:1)
除非你改变回调函数,否则不可能按照你用正则表达式描述的那样做,因为: