组保留的标签 余下为需要删除的标签 unset($oldtag[$key]); } } } if (!empty($oldtag)) { $tagids = array(); foreach ($oldtag as $tagid => $tagname) { $tagids[] = $tagid; } well_oldtag_delete($tagids, $tid); } $r = well_tag_process($tid, $fid, $create_tag, $tagarr); return $r; } // 删除标签和绑定的主题 function well_oldtag_delete($tagids, $tid) { $pagesize = count($tagids); $arrlist = well_tag_find_by_tagids($tagids, 1, $pagesize); $delete_tagids = array(); // 删除 $tagids = array(); $n = 0; foreach ($arrlist as $val) { ++$n; if (1 == $val['count']) { // 只有一个主题 $delete_tagids[] = $val['tagid']; } else { $tagids[] = $val['tagid']; } } !empty($delete_tagids) and well_tag_delete($delete_tagids); $arlist = well_tag_thread_find_by_tid($tid, 1, $n); if ($arlist) { $ids = array(); foreach ($arlist as $val) $ids[] = $val['id']; well_tag_thread_delete($ids); } !empty($tagids) and well_tag_update($tagids, array('count-' => 1)); } // 标签数据处理 $arr=新提交的数组 $tagarr=保留的旧标签 function well_tag_process($tid, $fid, $new_tags = array(), $tagarr = array()) { if (empty($tid)) return ''; // 新标签处理入库 if ($new_tags) { $threadarr = array(); $tagids = array(); $i = 0; $size = 5; $n = count($tagarr); $n = $n > $size ? $size : $size - $n; foreach ($new_tags as $name) { ++$i; $name = trim($name); $name = stripslashes($name); $name = strip_tags($name); $name = str_replace(array(' ', '#', "@", "$", "%", "^", '&', '·', '<', '>', ';', '`', '~', '!', '¥', '……', ';', '?', '?', '-', '—', '_', '=', '+', '.', '{', '}', '|', ':', ':', '、', '/', '。', '[', ']', '【', '】', '‘', ' ', ' ', ' ', ' ', ' '), '', $name); $name = htmlspecialchars($name, ENT_QUOTES); if ($name && $i <= $n) { // 查询标签 $read = well_tag_read_name($name); if ($read) { // 存在 count+1 $tagids[] = $read['tagid']; } else { // 入库 $arr = array('name' => $name, 'count' => 1); $tagid = well_tag_create($arr); FALSE === $tagid and message(-1, lang('create_failed')); $read = array('tagid' => $tagid, 'name' => $name); } $tag_thread = array('tagid' => $read['tagid'], 'tid' => $tid); $threadarr[] = $tag_thread; $tagarr[$read['tagid']] = $read['name']; } } !empty($threadarr) and tag_thread_big_insert($threadarr); !empty($tagids) and well_tag_update($tagids, array('count+' => 1)); } $json = empty($tagarr) ? '' : xn_json_encode($tagarr); return $json; } ?> $v = implode(",", $v); $temp[] = $v; } // 去掉重复的字符串,也就是重复的一维数组 $temp = array_unique($temp); // 再将拆开的数组重新组装 $output = array(); foreach ($temp as $k => $v) { if ($stkeep) $k = $starr[$k]; if ($ndformat) { $temparr = explode(",", $v); foreach ($temparr as $ndkey => $ndval) $output[$k][$ndarr[$ndkey]] = $ndval; } else $output[$k] = explode(",", $v); } return $output; } // 合并二维数组 如重复 值以第一个数组值为准 function array2_merge($array1, $array2, $key = '') { if (empty($array1) || empty($array2)) return NULL; $arr = array(); foreach ($array1 as $k => $v) { isset($v[$key]) ? $arr[$v[$key]] = array_merge($v, $array2[$k]) : $arr[] = array_merge($v, $array2[$k]); } return $arr; } /* * 对二维数组排序 两个数组必须有一个相同的键值 * $array1 需要排序数组 * $array2 按照该数组key排序 * */ function array2_sort_key($array1, $array2, $key = '') { if (empty($array1) || empty($array2)) return NULL; $arr = array(); foreach ($array2 as $k => $v) { if (isset($v[$key]) && $v[$key] == $array1[$v[$key]][$key]) { $arr[$v[$key]] = $array1[$v[$key]]; } else { $arr[] = $v; } } return $arr; } ?>下一步

XP系统小白也能学会:创建宽带连接快捷方式!

安装后,桌面上只有“我的 ”,也无法上网,那么这时如何创建宽带连接来连接网络呢?很简单,跟着系统吧一起操作以下的步骤: 1,在“网上邻居”图标上鼠标右键“属性”。 2,左侧的网络任务列表中单击“创

19天前40

新手入门:简单几步搞定Adobe Flash Player的安装

前言:适用于光纤猫的路由器功能已开始,即电脑连接光纤猫无需点【宽带连接】拨号上网。最近新安装了联通的智慧沃家的宽带,光猫自带路由的功能,但穿墙效果比较差,所以就在光猫下连接了个路由器,使得无线

19天前60

轻松几步:实现光猫与智慧沃家路由器的无缝连接

前言:适用于光纤猫的路由器功能已开始,即电脑连接光纤猫无需点【宽带连接】拨号上网。最近新安装了联通的智慧沃家的宽带,光猫自带路由的功能,但穿墙效果比较差,所以就在光猫下连接了个路由器,使得无线

19天前130

Win7与打印机的亲密接触:连接攻略

9、使用“从磁盘安装”的点击后在弹出的对话框中选择“浏览”(图中方框所示)。扩展 详细讲解电脑和打印机连接方法 第一:首先把打印机的电源插到电源插座上,然后打开打印机的开关,然后把USB数据线把电脑与打印机

20天前70

Win7与打印机的完美搭配:简单几步实现高效打印

1、首先确定打印机能正常使用,然后将usb数据线连接电脑和打印机。扩展 详细讲解电脑和打印机连接方法 第一:首先把打印机的电源插到电源插座上,然后打开打印机的开关,然后把USB数据线把电脑与打印机连接好。

20天前60

Win 7打印机连接全攻略,一步到位!

9、使用“从磁盘安装”的点击后在弹出的对话框中选择“浏览”(图中方框所示)。扩展 详细讲解电脑和打印机连接方法 第一:首先把打印机的电源插到电源插座上,然后打开打印机的开关,然后把USB数据线把电脑与打印机

20天前80

手把手教你Win7系统下连接打印机

1、首先确定打印机能正常使用,然后将usb数据线连接电脑和打印机。扩展 详细讲解电脑和打印机连接方法 第一:首先把打印机的电源插到电源插座上,然后打开打印机的开关,然后把USB数据线把电脑与打印机连接好。

20天前70

Windows下局域网共享磁盘秘籍,让你的文件访问无缝衔接!

前言: 我有一台主机硬盘容量比较大,想做为一个共享硬盘,方便我其他笔记本能够往这台硬盘传输文件,想到的最好最快的方法就是通过局域网内部进行文件传输。通过局域网共享磁盘,这种方法也是非常便捷的。那如何设置操作呢?请详细看下文。

21天前90

Windows系统局域网共享磁盘,几步搞定,共享变得简单

前言: 我有一台主机硬盘容量比较大,想做为一个共享硬盘,方便我其他笔记本能够往这台硬盘传输文件,想到的最好最快的方法就是通过局域网内部进行文件传输。通过局域网共享磁盘,这种方法也是非常便捷的。那如何设置操作呢?请详细看下文。

21天前140

TP-Link家庭路由大揭秘:让你秒懂指示灯含义

可能好多人还不了解家庭无线路由设置是如何操作的,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。 TP-link家庭无线路由设置这个品牌在国内也是相当知名的了,性价比很好,价格便宜量又足,这款无线路由

1月前80

初体验Win7自带的刻录功能:新手用户快速上手指南

文章转自:很多用户都会有需要刻录光盘的时候,对于使用Win7系统的用户可以使用Windows7系统自带有光盘刻录功能来刻录,下面笔者就介绍一下Windows7系统自带的光盘刻录功能的使用方法。方法步骤

1月前110

别让shutdown偷走你的计划!学会如何随时叫停关机进程

机房上课,可恶电脑总是被管理员测试,不时地弹出这个关机提示。如何取消这个关机命令呢?其实用 shutdown -a 即可。下面来学习一下shutdown命令的使用:shutdown这个命令估计好多人不知道。其实这个命令挺实

1月前50

详解用友T3普及版安装流程,让你从此不再迷茫!

T3普及版安装步骤 第一步:查看计算机名称中间有无“-”或其他特殊符号,如果有,更改计算机名称并重启计算机。修改的计算机名称建议全英文。不会改的请识别二维码获取改名教程。 第二步:下载T3普及版安装包:,

1月前90

无压力掌握:用友T3普及版快速安装教程

T3普及版安装步骤 第一步:查看计算机名称中间有无“-”或其他特殊符号,如果有,更改计算机名称并重启计算机。修改的计算机名称建议全英文。不会改的请识别二维码获取改名教程。 第二步:下载T3普及版安装包:,

1月前200