dedecms添加标题时,提示标题为空是什么原因

dedecms添加标题时,提示标题为空是什么原因,第1张

1、织梦CMS文章采集

  新建一个文章采集节点,后台——采集——采集节点管理——增加新节点,选择内容模型为普通文章。

  设置节点基本信息。目标源码同上篇文章所说,通过查看目标网站源代码后设置,区域匹配模式默认字符串,只有在字符串无法确定区域的时候才用正则表达式,不过一般都用不上。最后就是织梦cms采集的特点之一防盗链模式,如果目标网站有防盗链功能则开启次功能可以成功采集,但是会降低采集速度。次测试目标网站没防盗链功能,所以不开启。

  列表网站获取规则。同上篇文章分析,列表网址是有规律的可批量生成。这里要说下dedecms的强大之处,不仅获取列表网址的方式能灵活组合,而且如果目标网站整站使用的都是同一个模板,就可以启用“多栏目通配(#)”功能,通过设置后一个采集规则就可以采集整站并发布不同栏目了,而不需要一个栏目对应一个规则。(此功能小编会另外单独写一篇教程)

  文章网址匹配规则。查看目标列表页源代码,设置要采集文章网址区域的开始和结束的html,接下来又是dedecms特点之一,如果采集网址页面链接有可直接设置采集为缩略图,非常方便。对区域网址进行再次筛选功能也有特色,除支持正则表达式外还声明了“必须包含”和“不能包含”的优先级,本篇体验目标站无干扰网址,所以留空。

  保存并测试,系统会应用前面的设置测试采集网址,完整无误后保存信息并进入下一步内容采集设置。

 网页内容获取规则。系统会默认一个采集url为预览网址,另外内容分页导航所在的区域匹配规则也很灵活,除了和phpcms一样有全“部列出的分页列表模式”、“上下页形式或不完整的分页列表模式”外,还多了一个“分页列表规则”。

  各字段内容采集,dedecms的内容匹配规则和phpcms一样:“起始无重复HTML[内容]结尾无重复HTML”,[内容]即为所采内容。过滤规则是{dede:trim replace=""}规则{/dede:trim},多个规则的话一个一行,如果要替换成指定的值,则只要在replace=""的引号里设置即可。

  其中,内容摘要、关键字、缩略图系统会用正则进行自动匹配,我们只需设置过滤内容即可。其余字段分别设置匹配规则和过滤规则,系统同样自带了几个常用的过滤规则,但是点击“常用规则”后为弹出小窗口模式,稍微有点不方便。针对本测试的标题采集,以下两种方式都是可以的,如图:

  文章作者、文章来源和发布时间字段一样采集,但是此版本dedecms在这几个字段下没有“自定义处理接口”了,如果有的话会稍显灵活,例如设置固定值可直接用“@me="固定值"”实现。现在不能用自定义处理接口设定固定值,也没有字段值设置,只能通过采集网页某一固定值然后用替换。如图:

  dedecms的文章内容采集非常强大,除了匹配规则和过滤规则,还有个“自定义处理接口”。如果你有php基础的话,可以通过此功能对采集结果@me进行各种处理,强大到不行啊。以后小编会专门发一篇此功能的讲解文章。最后,不能直接在采集管理处新增采集字段,只能在对应内容模型管理中增加字段,采集管理会自动增加。如小编在“普通文章”内容模型那增加了一个“chinaz字段”,则采集设置中自动增了一个“chinaz字段”项目。

  保存并测试,查看列表测试信息和网页规则测试,检查是否正确,无误后确定并开始采集。进入采集指定节点设置页面,因为小编之前有测试一遍,所以有60个历史种子网址,即小编之前已经采集了60个网址,另外还有几个选项大家按需求选择。

  点开始采集网页,出现此采集提示信息显示采集进度,不知道是小编人品不好还是dede采集本身缺点,经常会浏览器没反应,采集停止在那,只有手动点击了才会继续。

采集完成后点右上角的“导出数据”,然后选择导出栏目,如果你在前面启用了“多栏目通配(#)”并指定了栏目ID,则要勾选此处的“批量采集选项”,其余选项根据自己需求选择,然后确定。如果勾选了“完成后自动生成导入内容HTML”则会在导入完后自动更新网站,否则就要先手动去生成。

本文实例讲述了dedecms列表页调用文章正文内容的方法。分享给大家供大家参考。具体分析如下:

一般来说,在列表页面要获取文章内容简单描述的话我们可以直接使用description标签就可以了,但是如果要有很多估计我们需要进行一些简单的修改。

在制作织梦模板的时候,有的时候我们需要调用文章部分内容,用[field:description/]标签字数不够多(数据库设计字段是varchar(255)的),另外修改了文章内容但是摘要还需要手动修改,所以只能调用文章正文内容了

实现织梦DedeCMS列表页调用文章正文的方法有两种,不过都是使用的dede:arclist标签,如果使用dede:list标签的话,第一种方法是调用不出结果的

以下是织梦DedeCMS列表页调用文章正文的第一种方法,代码如下:

复制代码

代码如下:

{dede:arclist flag='h' row='10′}

<h1><a

href='[field:arcurl/]'>[field:title/]</a></h1>

<p>[field:id runphp='yes'] $aid = @me; $row =

$GLOBALS['dsql']->GetOne("Select body From 'dede_addonarticle' where

aid='$aid' "); @me =

cn_substr(strip_tags("{$row['body']}"),400);[/field:id]<a

href='[field:arcurl/]'>阅读详细</a></p>

{/dede:arclist}

代码中的数字400是用来设置需要调用多少内容的,因为调用的是body里面的内容,如果有里面包含代码的话也会被调用出来,这点比较不好,不过可以使用html2tex()函数解决一下

第二种方法则是利用了织梦可以自定义模型内容数据,并调用的原理,把文章模板的body字段看做在自定义的,调用的代码如下:

复制代码

代码如下:

{dede:arclist row='10' addfields='body'

channelid='1'}

<p> [field:body

function='cn_substr(html2text(@me),600)'/]</p>

<span

class="more">

<a href=" [field:arcurl/]" style="text-decoration:none;

color:#990000;"& gt; [详 情]

</a>

</span>

{/dede:arclist}

以下是这种方法的详细说明:

1addrields=”字段一,字段二…”

2idlist:文章编号,调用指定内容

3function=’cn_substr(html2text(@me),600)’ 将文章内容转化为文字格式

4channelid,模型编号,文章默认为1,查看位置:后台–核心–内容模型管理

两种方法各有优劣,第一种方法比较繁琐,不是那么容易看懂,还是比较推荐采用第二种方法实现织梦DedeCMS列表页调用文章正文的功能的

谁说dede:list 标签不能调用body内容,现在就告诉你,直接就可以调用

第一步,打开后台 核心-->频道模型-->内容模型管理-->普通文章,在列表附加字段中添加body

第二步,在dede:list语句中指定addfields='body',然后直接用[field:body/]调用全部内容

实例代码如下:

复制代码

代码如下:

{dede:list pagesize='18' addfields='body'}

<li>

<p>[field:body/]</p>

<p><a

href="[field:arcurl/]"

title="[field:title/]">[field:title/]</a></p>

</li>

{/dede:list}

另外,如果像摘要一样调用可以用,代码如下:

复制代码

代码如下:

[field:body

function='cn_substr(html2text(@me),200)'/]

替代:

复制代码

代码如下:

[field:description

/]

调出文章前200个字符内容,经过这两步,可以彻底关掉系统默认的文章摘要功能,最后还有就是官方的一个[field:description/]字段了,这个如果对于要求几十个字的完全可以了,但是如果太多字此字段就无效了

希望本文所述对大家的dedecms建站有所帮助。

您好,朋友。跟版网团队很高兴为您解答:

dedecms发布文章提示”标题不能为空”

现象是发布英文标题没问题,发布中文会提示“标题不能为空”

因为htmlspecialchars在php54默认为utf8编码,

gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。

所以给htmlspecialchars添加ENT_COMPAT ,’GB2312′参数修改编码默认值。

具体方法有两种:

1在/include/commonfuncphp中任意位置添加函数

function gbkhtmlspecialchars($str)

{

return htmlspecialchars($str, ENT_COMPAT ,’ISO-8859-1′);

}

2如果空间商可以切换php版本,请将php版本切换为php52就不会有此问题了。

希望我的回答能够帮到你!

怎么限制字串长度大小

直接定义字串的最大长度就可以了,自后超过此长度的话,之后就无法插入,返回size有问题。

可以通过alter更改字串长度:

sql: alter tablename modify columnName varchar2(25);

解释:以上语句重置表中栏位的属性,设定最大长度是25个位元组,超过的话,无法正常插入。

JSP限制字串长度问题

假设:

提取出来的str

如果长度大于10则取8位,后面加

如果长度小于10则直接输出

<%

int i=strlength();

if(i==10)

{

outprint(str);

}else if(i>10){

str=strsubstring(0,7); 字串撷取0-7共8位

outprint(str+"");

}else{

outprint("暂无内容");

}

%>

pascal如何控制字串长度

var

st:string;

a,b:longint;记录想要输出的首位和末位

begin

readln(st);

for i:=a to b do

writeln(st[i]);

end

这样几位都可以控制啊

Python的re模组字串长度有限制么

Python通过re模组提供对正则表示式的支援。使用re的一般步骤是先使用repile()函式,将正则表示式的字串形式编译为Pattern例项,然后使用Pattern例项处理文字并获得匹配结果(一个Match例项),最后使用Match例项获得资讯,进行其他的操作

C++怎么限制编辑框输入字串长度

你这种情况比较复杂!VC环境下可以有kbhit();给你一个程式码:#include#includeusingnamespacestd;intmain(){chara;if(kbhit())是否按下了键a=getch();取得输入putch(a);在萤幕上显示a字元return0;}这就是只能按一个键,输入一个字元的例子,其它的楼主可以自己编一下程式,可以控制按回车时再读入等

php字串 长度 有限制吗?

没有明文说做了限制。

这样一般取决于所在的伺服器。

但貌似有个,2G的限制,这个不小了。

位址列传参的字串长度是否有限制

HTTP 11 协议中对URL的长度是没有限制的

但是在实现中,伺服器端和游览器端对URL的长度都是有限制的

伺服器端的限制根据不同的配置会有不同的值

游览器端的限制由于浏览器的种类也各不相同,大致如下

IE 2083

Firefox 65536

Chrome 8182

Safari 80000

Opera 190000

dedecms在列表和文章页控制字串长度,怎么写啊?

function="_substr(@me,字元数)"

swift20 字串长度怎么计算

字串的长度通常是指字串中包含字元的数目,但有的时候人们需要的是字串所占位元组的数目。常见的获取字串长度的方法包括如下几种。

1使用sizeof获取字串长度

sizeof的含义很明确,它用以获取字元阵列的位元组数(当然包括结束符\0)。对于ANSI字串和UNICODE字串,形式如下:

sizeof(cs)/sizeof(char) sizeof(ws)/sizeof(wchar_t)

可以采用类似的方式,获取到其字元的数目。如果遇到MBCS,如"中文ABC",很显然,这种办法就无法奏效了,因为sizeof()并不知道哪个char是半个字元。

2使用strlen()获取字串长度

strlen()及wcslen()是标准C++定义的函式,它们分别获取ASCII字串及宽字串的长度,如:

size_t strlen( const char string ); size_t wcslen( const wchar_t string );

strlen()与wcslen()采取\0作为字串的结束符,并返回不包括\0在内的字元数目。

3使用CString::GetLength()获取字串长度

CStringT继承于CSimpleStringT类,该类具有函式:

int GetLength( ) const throw( );

GetLength()返回字元而非位元组的数目。比如:CStringW中,"中文ABC"的GetLength()会返回5,而非10。那么对于MBCS呢?同样,它也只能将一个位元组当做一个字元,CStringA表示的"中文ABC"的GetLength()则会返回7。

4使用std::string::size()获取字串长度

basic_string同样具有获取大小的函式:

size_type length( ) const; size_type size( ) const;

length()和size()的功能完全一样,它们仅仅返回字元而非位元组的个数。如果遇到MCBS,它的表现和CStringA::GetLength()一样。

5使用_bstr_t::length()获取字串长度

_bstr_t类的length()方法也许是获取字元数目的最佳方案,严格意义来讲,_bstr_t还称不上一个完善的字串类,它主要提供了对BSTR型别的封装,基本上没几个字串操作的函式。不过,_bstr_t 提供了length()函式:

unsigned int length ( ) const throw( );

该函式返回字元的数目。值得称道的是,对于MBCS字串,它会返回真正的字元数目。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms添加标题时,提示标题为空是什么原因

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情