快捷搜索:  

dedecms图片页面分离简单方法



第一种实现方法:

方法其实很简单,就是先同步uploads目录,一般用rsync即可,一段时间服务器同步一次

 
复制代码
代码如下:

{dede:field.body runphp='yes'} 
$str = @me; 
$str3 = preg_replace("/src=\"\/uploads/","src=\"http://img.jb51.net/uploads",$str); 
@me = $str3; 
{/dede:field.body}

我通常采用:
{dede:field.body runphp=yes}@me= preg_replace('/<img.+?src=\"(.+?)\".+?>/','<center><img src="\1" ></center>',@me);{/dede:field.body}
 
又或者是:
{dede:field.content runphp=yes}@me= preg_replace('/<img.+?src=\"(.+?)\".+?>/','<img src="http://www.huomw.com\1" >',@me);{/dede:field.content}
当然我们也可以从后台直接替换数据库内容也可以,dedecms也提供了这个工具,不用每次替换,生成速度更快。
由此类推我们可以将别的网站的程序也可以这样替换

注:PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素。

相关内容:正则学习之案例 如何给织梦系统的文章插入广告
 
一:观察所有文章的结构,发现在第二个</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 禁止贪婪匹配 获取最快满足的代码
                          

您可能还会对下面的文章感兴趣: