Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] 标签形式卡通图文 for 4.00 by lu5266

[复制链接]
lu5266 发表于 2006-3-13 14:23:02 | 显示全部楼层 |阅读模式

我是2.2那里一直转了N次,转到4.0来了

名称:  标签形式卡通图文 for 4.00 by lu5266
演示:  http://www.5466.ik8.com/           
功能: 这个功能应该还是不错的,首先是美化,特别是在水区,文学区,心情区拉,用了简直是cool呆了,还可以防复制呢
版本: 4.00
作者: 2.2的原始代码by  DyNE   修改为标签 和 for 4.00 by lu5266
难易: 简单
支持: http://www.5466.ik8.com/
文件:  include/discuzcode.inc.php (论坛核心文件,不得以才修改,记得一定要先备份)



修改方法:

1.查找:

  1.         'pcodecount' => -1,
  2.         'codecount' => 0,
复制代码


下面加上:

  1.         'pcartooncount' => -1,//add by lu5266
  2.         'cartoonhtml'=>'',//add by lu5266
复制代码


2.查找:

  1.         $discuzcodes['codecount']++;
  2.         return "[\tDISCUZ_CODE_$discuzcodes[pcodecount]\t]";
  3. }
复制代码


下面加上:

  1. //lu5266 and  DyNE add this function bbcode cartoon start
  2. function addspacing($string, $spacing) {
  3.     $length = strlen($string);
  4.     for($i = 0; $i < $length; $i++) {
  5.         if(ord($string[$i]) > 127) {
  6.             $newstring .= $string[$i].$string[$i + 1].$spacing;
  7.             $i++;
  8.         } else {
  9.             $newstring .= $string[$i];
  10.         }
  11.     }
  12.     return $newstring;
  13. }

  14. require_once DISCUZ_ROOT.'./include/cartoon.inc.php';
  15. function cartoondisp($cartoon) {
  16.         global $discuzcodes,$cartoons;
  17.         $discuzcodes['pcartooncount']++;
  18.         $cartoon = addspacing($cartoon,'`');  
  19.         $cartoon = htmlspecialchars(str_replace('\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $cartoon)));
  20.         $cartoon=preg_replace("/([A-Z0-9])/s", "<img src="images/Cartoon_Char/\\1.gif" align="absmiddle" border="0">",$cartoon);     
  21.     foreach($cartoons as $char) {
  22.             $cartoon=str_replace($char['code'], "<img src="images/Cartoon_Char/$char[url]" align="absmiddle" border="0">",$cartoon);
  23.     }
  24.     $discuzcodes['cartoonhtml'][$discuzcodes['pcartooncount']]=  str_replace('`', '', $cartoon); ;        
  25.         return "[\tDISCUZ_CARTOON_$discuzcodes[pcartooncount]\t]";
  26. }
  27. //lu5266 and  DyNE add this function bbcode cartoon end
复制代码



3:查找:

  1. $message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies", "codedisp('\\1')", $message);
复制代码


下面加上:(A B选择其一)
方法A:
  1. $message = preg_replace("/\s*\[cartoon\](.+?)\[\/cartoon\]\s*/ies", "cartoondisp('\\1')", $message);//add bylu5266
复制代码



方法B:这个可以定义使用的版块,在 1 2 3那里修改,记得多个版快,号隔开

  1.                 //add bylu5266
  2.                 global $fid;
  3.                 if(in_array($fid,array(1,2,3))){  //1 2 3 use fid
  4.                    $message = preg_replace("/\s*\[cartoon\](.+?)\[\/cartoon\]\s*/ies", "cartoondisp('\\1')", $message);
  5.                 }
  6.                 //add bylu5266
复制代码




4:查找:

  1.         for($i = 0; $i <= $discuzcodes['pcodecount']; $i++) {
  2.                 $message = str_replace("[\tDISCUZ_CODE_$i\t]", $discuzcodes['codehtml'][$i], $message);
  3.         }
复制代码


下面加上:

  1.         //lu5266 and  DyNE add this function bbcode cartoon start
  2.         for($i = 0; $i <= $discuzcodes['pcartooncount']; $i++) {
  3.                 $message = str_replace("[\tDISCUZ_CARTOON_$i\t]", $discuzcodes['cartoonhtml'][$i], $message);
  4.         }
  5.         //lu5266 and  DyNE add this function bbcode cartoon end
复制代码


文件修改完毕。

5。选做的(增加bbcode按纽)

1:在include/bbcode.js的最后加上

  1. function cartoon() {
  2.         if (helpmode){
  3.                 alert('插入文字秀特效文字\n\\\n给标签所包围的文本用漂亮的图片代替。\n例如:[cartoon]我爱你 I LOVE YOU!  [/cartoon]');
  4.         }
  5.          else if (document.selection && document.selection.type == "Text") {
  6.                 var range = document.selection.createRange();
  7.                 range.text = "[cartoon]" + range.text + "[/cartoon]";
  8.         }
  9.          else if (advmode) {
  10.                 AddTxt="[cartoon] [/cartoon]";
  11.                 AddText(AddTxt);
  12.         } else {  
  13.                 txt=prompt('请输入要用漂亮的图片代替的文字',text_input);   
  14.                 if(txt!=null) {            
  15.                         AddTxt="\r[cartoon]"+txt;
  16.                         AddText(AddTxt);
  17.                         AddText("[/cartoon]");
  18.                 }      
  19.         }
  20. }
复制代码


2:在模板(一般的是默认模板)

post_bbinsert.htm

查找:

  1. <a href="javascript:list()"><img src="{IMGDIR}/bb_list.gif" border="0" alt="{lang post_discuzcode_list}"></a>
复制代码


下面加上:
  1. <a href="javascript:cartoon()"><img src="images/bb_cartoon.gif" border="0" alt="插入文字秀特效文字"></a>
复制代码


3:下载附件传到对应目录下

4:更新缓存

[ 本帖最后由 lu5266 于 2006-3-14 08:38 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
seohee520 发表于 2006-3-13 14:25:22 | 显示全部楼层
沙发 盯
回复

使用道具 举报

amoshuang 发表于 2006-3-13 14:27:33 | 显示全部楼层
板凳
回复

使用道具 举报

seohee520 发表于 2006-3-13 14:32:44 | 显示全部楼层
晕 4.1可以用吗
回复

使用道具 举报

 楼主| lu5266 发表于 2006-3-13 14:35:24 | 显示全部楼层


[ 本帖最后由 lu5266 于 2006-3-13 15:31 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

 楼主| lu5266 发表于 2006-3-13 14:36:55 | 显示全部楼层
原帖由 seohee520 于 2006-3-13 14:32 发表
晕 4.1可以用吗


你自己试下

应该可以的

我没有测试
回复

使用道具 举报

渡雨 发表于 2006-3-13 14:56:13 | 显示全部楼层
不错不错~~~
回复

使用道具 举报

渡雨 发表于 2006-3-13 14:58:24 | 显示全部楼层
回复

使用道具 举报

seohee520 发表于 2006-3-13 15:02:59 | 显示全部楼层
<a href="javascript:cartoon()"><img src="images/bb_cartoon.gif" border="0" alt="插入文字秀特效文字"></a>
少了一段代码

大家参照一下摸班就知道了
回复

使用道具 举报

渡雨 发表于 2006-3-13 15:06:18 | 显示全部楼层
Cartoon_Char这个的问题,请大家注意~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-25 13:34 , Processed in 1.028468 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表