现在很多使用phpcms做门户网站的都有图片或图集频道,有些站长为了增加人气也上线了此类频道,对于使用PhpCMS建站的站长来说,最想实现的就是点击图片进入下一页这个功能了。
直接入正题,特点是:不修改源码,只在模板上做处理。
代码很简单,在文章内容页替换{$content}为:
复制代码
代码如下:{php $i=strrpos($pages,"href=");}
{php $str = substr($pages,$i+5,-10);}
{php $content = str_replace("<img","<strong><font color=#ff0033>点击图片 进入下一页</font></strong><a href=".$str."<img",$content);}
{php echo str_replace("/>","/></a>",$content);}
重新生成,好了,一切OK!
注意事项:
1.内容中有包含input的请不要使用,因为{php echo str_replace("/>","/></a>",$content);}没做判断直接替换.想想内容中有input的朋友也不多,考虑到效率问题就先不写了,等想好更好的方法在判断.
2.有朋友可能想控制替换的次数,一篇文章中存在几个图片的可能性很大.我查了一下 str_replace有个可选函数,有需要的朋友可以看一下.
对于没有分页丢失图片的修改,再次修改了当文章到达最后分页的再次点击进入栏目页(这里大家可以自己修改,还有一个好的方式就是进入下一篇文章/上一篇文章)
复制代码
代码如下:{if $pages}
<?php
$i=strrpos($pages,"href=");
$str = substr($pages,$i+5,-10);
$m=strpos($pages,$str);
if ($m==$i+5){
$content = preg_replace('/(<img (.+)>)/Ui',"<a href=\"".$CATEGORY[$catid][url]."\">\${1}</a>",$content,-1);
}
else{
$content = preg_replace('/(<img (.+)>)/Ui',"<a href=".$str."\${1}</a>",$content,-1);
}
?>
{/if}
{$content}