discuz字符串截取函数messagecutstr()详解

大家好,我是dede58网技术帮助今天给大家分析下当我们在二次开发Discuz的时候,需要使用到调用简介的时候,可以使用Discuz自带的内容处理函数

  messagecutstr($str, $length, $dot)

参数解释:
$str           要处理的字符串对象
$length     要保留的长度
$dot         超出部分用什么代替

举例:

  <div>$str = 'DZ起点网就是好,学习Dsicuz少不了!';</div><div>$length = 8;</div><div>$dot = '+更多Discuz教程请百度搜索“DZ起点网”!';</div><div>  </div><div>echo messagecutstr($str, $length, $dot);</div>

如图:  
此时会输出

DZ起点网+更多Discuz教程请百度搜索“DZ起点网”!


如图:

 

特别声明,如果你使用messagecutstr()函数不起作用时,不放试试将

  include_once libfile('function/post');

这段代码引入,因为你messagecutstr()函数是在“function/post”中定义的!

messagecutstr()完整的函数定义如下:

  function messagecutstr($str, $length = 0, $dot = ' ...') {          global $_G;          $str = messagesafeclear($str);          $sppos = strpos($str, chr(0).chr(0).chr(0));          if($sppos !== false) {                  $str = substr($str, 0, $sppos);          }          $language = lang('forum/misc');          loadcache(array('bbcodes_display', 'bbcodes', 'smileycodes', 'smilies', 'smileytypes', 'domainwhitelist'));          $bbcodes = 'b|i|u|p|color|size|font|align|list|indent|float';          $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']])) : '');          $str = strip_tags(preg_replace(array(                          "/[hide=?d*](.*?)[/hide]/is",                          "/[quote](.*?)[/quote]/si",                          $language['post_edit_regexp'],                          "/[url=?.*?](.+?)[/url]/si",                          "/[($bbcodesclear)=?.*?].+?[/\1]/si",                          "/[($bbcodes)=?.*?]/i",                          "/[/($bbcodes)]/i",                  ), array(                          "[b]$language[post_hidden][/b]",                          '',                          '',                          '\1',                          '',                          '',                          '',                  ), $str));          if($length) {                  $str = cutstr($str, $length, $dot);          }          $str = preg_replace($_G['cache']['smilies']['searcharray'], '', $str);          if($_G['setting']['plugins']['func'][HOOKTYPE]['discuzcode']) {                  $_G['discuzcodemessage'] = & $str;                  $param = func_get_args();                  hookscript('discuzcode', 'global', 'funcs', array('param' => $param, 'caller' => 'messagecutstr'), 'discuzcode');          }          return trim($str);  }  复制代码

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容