肥宅综合社区-做一个优雅文明的综合社区

搜索内容

Discuz!教程之帖子摘要(简介)截取函数messagecutstr()详解

肥宅 图文教程 0 256
当我们在二次开发Discuz的时候,经常需要调用帖子的摘要或者简介,这里可以使用Discuz自带的内容处理函数messagecutstr()来处理:
函数定义位置:\source\function\function_post.php
使用前请添加 include_once libfile('function/post');
来引入函数
messagecutstr($str, $length, $dot)
参数解释:
$str           要处理的字符串对象
$length     要保留的长度
$dot         超出部分用什么代替
  1. function messagecutstr($str, $length = 0, $dot = ' ...') {
  2.         global $_G;
  3.         $str = messagesafeclear($str);
  4.         $sppos = strpos($str, chr(0).chr(0).chr(0));
  5.         if($sppos !== false) {
  6.                 $str = substr($str, 0, $sppos);
  7.         }
  8.         $language = lang('forum/misc');
  9.         loadcache(array('bbcodes_display', 'bbcodes', 'smileycodes', 'smilies', 'smileytypes', 'domainwhitelist'));
  10.         $bbcodes = 'b|i|u|p|color|backcolor|size|font|align|list|indent|float';
  11.         $bbcodesclear = 'email|code|free|table|tr|td|img|swf|flash|attach|media|audio|groupid|payto'.($_G['cache']['bbcodes_display'][$_G['groupid']] ? '|'.implode('|', array_keys($_G['cache']['bbcodes_display'][$_G['groupid']])) : '');
  12.         $str = strip_tags(preg_replace(array(
  13.                         "/\[hide=?\d*\](.*?)\[\/hide\]/is",
  14.                         "/\[quote](.*?)\[\/quote]/si",
  15.                         $language['post_edit_regexp'],
  16.                         "/\[url=?.*?\](.+?)\[\/url\]/si",
  17.                         "/\[($bbcodesclear)=?.*?\].+?\[\/\\1\]/si",
  18.                         "/\[($bbcodes)=?.*?\]/i",
  19.                         "/\[\/($bbcodes)\]/i",
  20.                         "/\\\\u/i"
  21.                 ), array(
  22.                         "[b]$language[post_hidden][/b]",
  23.                         '',
  24.                         '',
  25.                         '\\1',
  26.                         '',
  27.                         '',
  28.                         '',
  29.                         '%u'
  30.                 ), $str));
  31.         if($length) {
  32.                 $str = cutstr($str, $length, $dot);
  33.         }
  34.         $str = preg_replace($_G['cache']['smilies']['searcharray'], '', $str);
  35.         if($_G['setting']['plugins']['func'][HOOKTYPE]['discuzcode']) {
  36.                 $_G['discuzcodemessage'] = & $str;
  37.                 $param = func_get_args();
  38.                 hookscript('discuzcode', 'global', 'funcs', array('param' => $param, 'caller' => 'messagecutstr'), 'discuzcode');
  39.         }
  40.         return trim($str);
  41. }

    协助本站seo优化一下,谢谢!
    关键词不能为空

标签:

暂无标签

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail: kefu@fz331.com

上一篇下一篇

发表评论

上传附件:
评论列表 (有 0 条评论,256人围观)
切换注册

登录

忘记密码?

切换登录

注册

验证码