织梦系统常用常见问题处理方法收集

织梦技巧
1、织梦dedecms系统安装在子目录下,会员信息链接不对的解决法。
   在网上搜索了很多方法,都得不到解决,其中一个解决方法是:到标签模板里找到memberlist.lib.php 在$row['spaceurl'] = $GLOBALS['cfg_basehost'].'/member/index.php?uid='.$row['userid'];红色处做修改,在'/member前面加上子目录名,如home,这样无法生成主页,方法弃之,第二个方法是将['cfg_basehost']修改成[cfg_cmspath],会员信息链接是对了,自动加上了根目录,但打开首页是乱码,经过研究系统的目录生成方法,大胆尝试,将站点根网址了就是cfg_basehost变更的参数在根网址后面加上根目录,问题得到解决,测试新上传图片,也是正常的,自动在图片地址前加上根目录。此方法适用于5.6GBK版,其它版本没有测试。
2、后台菜单丢失找回:是缓存文件的问题,删掉data/tplcache 目录,让它自己重新建一个就好了
 
1通用过滤标签
{dede:trim}<span(.*)>{/dede:trim}
{dede:trim}</span>{/dede:trim}
{dede:trim}<div(.*)>{/dede:trim}
{dede:trim}</div>{/dede:trim}
{dede:trim}<li>{/dede:trim}
{dede:trim}</li>{/dede:trim}
{dede:trim}<ul>{/dede:trim}
{dede:trim}</ul>{/dede:trim}
{dede:trim}<font(.*)>{/dede:trim}
{dede:trim}</font>{/dede:trim}
{dede:trim}<table(.*)>{/dede:trim}
{dede:trim}</table>{/dede:trim}
{dede:trim}<tbody(.*)>{/dede:trim}
{dede:trim}</tbody>{/dede:trim}
{dede:trim}<tr(.*)>{/dede:trim}
{dede:trim}</tr>{/dede:trim}
{dede:trim}<td(.*)>{/dede:trim}
{dede:trim}</td>{/dede:trim}
{dede:trim}<a(.*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}
{dede:trim}<iframe(.*)</iframe>{/dede:trim}
{dede:trim}<style(.*)</style>{/dede:trim}
{dede:trim}<script(.*)</script>{/dede:trim}
{dede:trim}<option(.*)</option>{/dede:trim}
{dede:trim}<select(.*)</select>{/dede:trim}
2 过滤掉视频
{dede:trim}<embed(.*)>{/dede:trim}
{dede:trim}</embed>{/dede:trim}
{dede:trim}<param(.*)</param>{/dede:trim}
{dede:trim}<object(.*)</object>{/dede:trim}
 
 
3.自定义处理接口。就是PHP代码。只不过 “ @ me 表示当前标记值和最终结果“@ body表示原始网页”“ @ litpic 缩略图”,按照PHP的写法的就OK了。
4、DedeCMS采集规则二:过滤、替换、技巧
1.采集去除链接
[Copy to clipboard]CODE:
{dede:trim}]*)>([^<]*){/dede:trim}
--------------------------------
让field:title 标题突破30这个长度,修改代码的方法
找到./include/inc_arcpart_view.php
行291 :
if($titlelen=="") $titlelen = 30;
修改为
if($titlelen=="") $titlelen = 60;
就可以了,然后,你可以这样调用了
{dede:channelArtlist typeid='0' col=1 tablewidth='100%'}
{dede:arclist row="10"}
[field:title function="cn_substr('@me',38)" /]
 
{/dede:arclist}
{/dede:channelArtlist}
把这个延伸一下:关于inc_arcpart_view.php
function GetArcList($typeid=0,$row=10,$col=1,$titlelen=30,$infolen=160,
$imgwidth=120,$imgheight=90,$listtype="all",$orderby="default",$keyword="",
$innertext="",$tablewidth="100",$arcid=0,$idlist="")
这里的参数都可以更改你实际需要的模板元素尺寸大小.
5. 采集过虑中去掉链接保留文字的方法!
{dede:trim}<a([^>]*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}
dedecms 带超连接关键字 如何去掉
全部去
{dede:trim}^<a*'>*</a>${/dede:trim}
注:如果需要将采集文章中的某些文字替换成自己的文字的话需要使用 {dede:trim replace="你的文字"}需要替换的文字{/dede:trim}
6. 过滤div
{dede:trim}]*)>{/dede:trim}
{dede:trim}
{/dede:trim}
 
7 过滤js
{dede:trim}]*)>([^<]*){/dede:trim}
 
8 过滤未知变量字符
   {dede:trim}固定(.*)固定{/dede:trim}
比如:{dede:trim}<STRONG>相关新闻(.*)<font color="#F5FDFF">来源:考试大{/dede:trim}
就可以过滤掉相关新闻后面的内容
 
9 .dede万能过滤代码
以下是常用的正则表达式标签
{dede:trim}<tbody(.*)>{/dede:trim}
{dede:trim}</tbody>{/dede:trim}
{dede:trim}<table(.*)>{/dede:trim}
{dede:trim}</table>{/dede:trim}
{dede:trim}<tr(.*)>{/dede:trim}
{dede:trim}</tr>{/dede:trim}
{dede:trim}<td(.*)>{/dede:trim}
{dede:trim}</td>{/dede:trim}
{dede:trim}<font(.*)>{/dede:trim}
{dede:trim}</font>{/dede:trim}
{dede:trim}<a(.*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}
{dede:trim}<param(.*)>{/dede:trim}
{dede:trim}<embed(.*)</embed>{/dede:trim}
{dede:trim}<object(.*)</object>{/dede:trim}
{dede:trim}<iframe(.*)</iframe>{/dede:trim}
{dede:trim}<form(.*)</form>{/dede:trim}
{dede:trim}<input(.*)>{/dede:trim}
{dede:trim}<scrīpt(.*)</scrīpt>{/dede:trim}
{dede:trim}<style(.*)</style>{/dede:trim}
{dede:trim}<!--(.*)-->{/dede:trim}
以下为不常用的正则表达式标签
{dede:trim}<div(.*)>{/dede:trim}
{dede:trim}</div>{/dede:trim}
{dede:trim}<center(.*)>{/dede:trim}
{dede:trim}</center>{/dede:trim}
{dede:trim}<p(.*)>{/dede:trim}
{dede:trim}</p>{/dede:trim}
{dede:trim}<span(.*)>{dede:trim}
{dede:trim}</span>{dede:trim}
{dede:trim}<img(.*)>{/dede:trim}
10.织梦标题不全,鼠标指向显示全部的代码:
{dede:arclist titlelen='100'}
[field:title function=' ( strlen("@me")>40 ? cn_substr("@me",40): "@me" ) '/]
{/dede:arclist}
6.dede/inc/inc_archives_functions.php第100行(flash频道远程flash本地化的BUG)
$cfg_uploaddir = $GLOBALS['media_dir'];
修改成
$cfg_uploaddir = $GLOBALS['cfg_other_medias'];
11.发布时间,来源,作者可以通过@me函数实现,如:在自定义处理接口:处输入 @me = "www.22875.net·【时尚女性】" 就表示来源为“www.22875.net·【时尚女性】”
12.内容的替换:在所采集的文章内容中有多媒体,使用的是相对路径,采集的时候又不想下载,最好的办法就是将地址替换成媒体的实际地址。可以这样实现,在文章内容规则部分的自定义处理接口:处输入@me=str_replace('src="str1','src="str2',@me);
 
13 dedecms 带超连接关键字 如何去掉
全部去
{dede:trim}^<a*'>*</a>${/dede:trim}
应用示例二:来源作者中连接的过滤
在采集文章的时候,有的系统里面作者或者来源处都有连接,直接采集的话将连接采集回来了,然后由于这两个字段有限制,通常会造成需要采集的内容没有采集回来,所以需要在过滤处添加下面正则过滤
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
应用示例一:标题中空格的过滤
经常在采集文章的时候,标题文字里面有空格,采回来后应用很是麻烦,所以需要在过滤处添加下面正则过滤
{dede:trim} {/dede:trim}
应用示例二:来源作者中连接的过滤
在采集文章的时候,有的系统里面作者或者来源处都有连接,直接采集的话将连接采集回来了,然后由于这两个字段有限制,通常会造成需要采集的内容没有采集回来,所以需要在过滤处添加下面正则过滤
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
 
应用示例三:文章内容中连接以及其他广告代码的过滤
这个就不用说了,当需要对所有东西过滤的时候,直接用上面所有的代码过滤就可以,但是实际应用中,我们只需要对连接、动画、调用等进行过滤。(这个需要按照对方内容里面具体含有什么代码来具体操作)
一般的只有链接,使用二中的代码进行过滤就可以了,但是实际上一般的网站现在都在内容里面加有广告等,所以采取下面的过滤正则就可以完成过滤:
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>([^>]*)</IFRAME>{/dede:trim}
{dede:trim}<object([^>]*)>([^>]*)</object>{/dede:trim}
{dede:trim}<script([^>]*)>([^>]*)</script>{/dede:trim}
 
应用示例四:过滤GG广告代码
其实这个就是在上面的内容过滤,但是很多论坛里的网友经常问这个,所以单独作为一个应用列出来:
{dede:trim}<script([^>]*)>([^>]*)</script>{/dede:trim}
DEDECMS 过滤规则 去掉超链接 保留文字图片
{dede:trim}<(|/)a([^>]*)>{/dede:trim}
10.采集的时候主动摘要是摘取采集网页代码中 <meta name="description" content="内容" />
的“内容”,所以你设置>10是不行的,如果有些摘要<10怎么办,你设置条件“如果为空值”,但是一般不会是空值,只有采集前就设置条件,逼迫他取空值,然后再设置。
 
现在知道的就只有2个方法:
 
1. 采集完后履行SQL :update dede_archives set description="" 清空摘要再应用“主动摘要”功效
 
2.修正采集页面“摘要过滤内容”的默认值为{dede:trim replace=""}(.*){/dede:trim}
甘样样每天采集新的文章的时候就主动将摘要取了空值。再应用“主动摘要”功效,不用每采集一次就履行SQL
11.批量采集文章如何调换文章标题/描写/文章中的要害字
比如:
美元兑日元:亚洲市场可能吸收能力亚洲股市上班扬支撑
当采集后可以变成
USD/JPY:亚洲市场可能吸收能力亚洲股市上班扬支撑
{dede:trim replace="USD/JPY"}美元兑日元{/dede:trim}
标签:
吃喝网尾部