织梦dede文章上一篇下一篇怎样修改链接地址替换?
编辑:996评测网 发布时间:2020-05-04 22:35 分类:经验学堂
大家都知道织梦文章页上一篇、下一篇的标签分别是: {dede:prenext get=pre/} = 上一篇:某某文档 {dede:prenext get=next/}= 下一篇:某某文档 但是我们在做前台模板的时候,有时候不想直接输...
大家都知道织梦文章页上一篇、下一篇的标签分别是:
{dede:prenext get='pre'/} = 上一篇:某某文档
{dede:prenext get='next'/} = 下一篇:某某文档
但是我们在做前台模板的时候,有时候不想直接输出这个效果,而且不符合个性化要求。
织梦却没有这样单独获取超链接的标签。更改后台PHP文件,无疑为以后升级带来麻烦,所以只有从标签中获得。
输出效果 "/skills/2009/4.html"
下一篇地址:
折叠HTML 代码
{dede:prenext get='next' runphp="yes"}
preg_match_all('/<a.*?(?: |\\t|\\r|\\n)?href=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim', @me, $strResult, PREG_PATTERN_ORDER);
@me=$strResult[1][0];
{/dede:prenext}
上一篇地址:
折叠HTML 代码
{dede:prenext get='pro' runphp="yes"}
preg_match_all('/<a.*?(?: |\\t|\\r|\\n)?href=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim', @me, $strResult, PREG_PATTERN_ORDER);
@me=$strResult[1][0];
{/dede:prenext}
str_replace() 函数:使用一个字符串替换字符串中的另一些字符。
举个例子:
[field:sitepath function='str_replace("{cmspath}","http://localhost/",@me) /]
实际上是查找内容中指定的部分然后进行替换,上面是DEDE中的应用方法,第2个双引号实际是替换的内容,这里是http://localhost/
上面标签的作用就是查找内容中的{cmspath}并替换为 http://localhost/ ,实际上也就是去掉。
str_replace() 还有一个参数count ,是替换的次数,
语法为str_replace(find,replace,string,count)
所以我们可以引申出很多应用方法了。
比如下面的标签都可以应用
[field:info/]
[field:arcurl/]
[field:typedir/]
举个例子
[field:title function='str_replace("aaa","bbb",@me)/]
[field:title function='str_replace("测试","test",@me)/]
查找标题中的aaa替换成bbb,
但下面这个比较常用,主要应用于二三级栏目嵌套调用中
[field:typedir function='str_replace("{cmspath}","",@me)'/]
(责任编辑:996top广告联盟评测)