Posts Tagged ‘lightbox’

解决Lightbox和aLinks的冲突

今天意外发现点击aLinks关键词时都会出现Lightbox的动态图片框,经过分析代码发现Lightbox会在aLinks链接最后自动加上 rel=”lightbox” 用以标识为Lightbox链接,

通过分析插件 lightbox-plugin.php 源码,发现在程序第137行有这样一句

   if(preg_match('/.('.IMAGE_EXTENSIONS.')/i', $link))

IMAGE_EXTENSIONS 的定义为 ‘jpg|jpeg|png|gif|bmp|ico’

即程序先提取所有超链接,然后通过正则分析链接中是否存在图片格式的关键字,如果存在,则判断其为一个Lightbox链接并在末尾加上标识

知道原因就好办了,因为aLinks也会在链接中加上rel标识自己,所以只要先通过正则判断链接中是否已存在rel表示,无则加上Lightbox标识,程序修改如下

   if(preg_match('/.('.IMAGE_EXTENSIONS.')/i', $link) &&
   !preg_match('/(rel)/i', $link) )