今天碰到了个任务,目的:就是在网站所有文章的固定位置插入自己的广告代码,本站使用的是织梦系统。。想想用正则写最方便.
实现:
一:观察所有文章的结构,发现在第二个</p>结束标签的位置,插入我要的广告最合适;
二:对织梦的文章模板的 文章内容 {dede:field.body /} 做替换处理
{dede:field.body runphp='yes'}@me = preg_replace("/^(.*\<\/p\>)(.*\<\/p\>)(.*)$/isU", "\\1\\2"."<div id='vfocus_container'></div>"."\\3", @me); {/dede:field.body}
三:在文章页模板 最后加上段JS
给id为'vfocus_container‘ 植入我想要的 广告代码, 为了避免JS出错 写的就更规范点
var vfocus = "你要植入的代码";
if($("#vfocus_container").length>0){
$("#vfocus_container").html(vfocus);
}
运行 OK。。。。 其中 我用的正则( /^(.*\<\/p\>)(.*\<\/p\>)(.*)$/isU ): 里面用了字符修正符 i s U 这个很关键
i 忽略大小写
s 忽略换行符 全文匹配
U 禁止贪婪匹配 获取最快满足的代码