discuz字符串截取函数messagecutstr()分析
发布时间:2021-11-30 17:30:47 所属栏目:PHP教程 来源:互联网
导读:大家好,我是dede58网技术帮助今天给大家分析下当我们在二次开发Discuz的时候,需要使用到调用简介的时候,可以使用Discuz自带的内容处理函数 1 messagecutstr($str, $length, $dot) 参数解释: $str 要处理的字符串对象 $length 要保留的长度 $dot 超出部分
大家好,我是dede58网技术帮助今天给大家分析下当我们在二次开发Discuz的时候,需要使用到调用简介的时候,可以使用Discuz自带的内容处理函数 1 messagecutstr($str, $length, $dot) 参数解释: $str 要处理的字符串对象 $length 要保留的长度 $dot 超出部分用什么代替 举例: 1 <div>$str = 'DZ起点网就是好,学习Dsicuz少不了!';</div><div>$length = 8;</div><div>$dot = '+更多Discuz教程请百度搜索“DZ起点网”!';</div><div> 2 </div><div>echo messagecutstr($str, $length, $dot);</div> 如图: 此时会输出 DZ起点网+更多Discuz教程请百度搜索“DZ起点网”! 如图: 特别声明,如果你使用messagecutstr()函数不起作用时,不放试试将 1 include_once libfile('function/post'); 这段代码引入,因为你messagecutstr()函数是在“function/post”中定义的! messagecutstr()完整的函数定义如下: 01 function messagecutstr($str, $length = 0, $dot = ' ...') { 02 global $_G; 03 $str = messagesafeclear($str); 04 $sppos = strpos($str, chr(0).chr(0).chr(0)); 05 if($sppos !== false) { 06 $str = substr($str, 0, $sppos); 07 } 08 $language = lang('forum/misc'); 09 loadcache(array('bbcodes_display', 'bbcodes', 'smileycodes', 'smilies', 'smileytypes', 'domainwhitelist')); 10 $bbcodes = 'b|i|u|p|color|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 ), array( 21 "[b]$language[post_hidden][/b]", 22 '', 23 '', 24 '1', 25 '', 26 '', 27 '', 28 ), $str)); 29 if($length) { 30 $str = cutstr($str, $length, $dot); 31 } 32 $str = preg_replace($_G['cache']['smilies']['searcharray'], '', $str); 33 if($_G['setting']['plugins']['func'][HOOKTYPE]['discuzcode']) { 34 $_G['discuzcodemessage'] = & $str; 35 $param = func_get_args(); 36 hookscript('discuzcode', 'global', 'funcs', array('param' => $param, 'caller' => 'messagecutstr'), 'discuzcode'); 37 } 38 return trim($str); 39 } 40 复制代码 (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |