组保留的标签 余下为需要删除的标签 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; } ?>本机

一键解锁隐藏的数字代码:快速找到你的设备IP地址

IP地址是互联网中设备的唯一标识,用于区分不同设备并实现通信。我们可能需要知道自己的IP地址,例如设置网络、远程协助、排查网络问题等。但许多人对如何查询本机的IP地址并不清楚。本文将介绍IP地址的基础知识以及查询本机IP地址的方法。

1月前210

从新手变专家:一文学会查询本机IP地址方法

IP地址是互联网中设备的唯一标识,用于区分不同设备并实现通信。我们可能需要知道自己的IP地址,例如设置网络、远程协助、排查网络问题等。但许多人对如何查询本机的IP地址并不清楚。本文将介绍IP地址的基础知识以及查询本机IP地址的方法。

1月前140

在windows 本机 搭建 FTP 保姆保姆级教学

ftp在本机搭建 1、首先打开控制面板进入 2、进入后点击程序&#xff1a; 3、点击启用或关闭windows功能 4、在intemet infromation services 中选择ftp服务器点击安装 以下如图 5、安装完

7月前1240

VMware虚拟机连接本机无线wifi网络

文章目录一、关闭防火墙二、关闭Centos7防火墙三、开启两个服务四、无线网卡( 或本地连接) 上设置网络共享&#xff0c;选择 VMnet8五、使用 ipconfig -all 命令查看 DNS 、IPv4 等信息六、配置 VM

7月前610

本机号码一键登录原理与应用

点击上方“Java基基”&#xff0c;选择“设为星标”做积极的人&#xff0c;而不是积极废人&#xff01;每天 14:00 更新文章&#xff0c;每天掉亿点点头发...源码精品专栏 原创 | Java

7月前1450

uniapp - 安卓苹果 App 平台下获取用户本机已安装的应用列表app,可读取某个应用的全部信息(应用名称图标是否系统软件安装包签名等软件信息)超详细注释示例源代码教程

介绍 如题所示,本文提供 uniapp 编译为安卓、苹果APP 平台下,uniapp安卓苹果app端应用软件里,如何获取用户手机内的所有应用(并且拿到应用名字图标等信息), uniapp Vue3和Vue2都能用,你可以直接复制本文提

7月前720

查看本机ip地址的两种方法,电脑端用户必看

在现代网络生活中&#xff0c;了解本机的IP地址是一项基本技能。无论是进行网络故障排查、远程访问设置&#xff0c;还是参与在线游戏&#xff0c;都需要我们准确获取本机的IP信息。本文将介绍两种简单而实用的方法来

9月前820

Windows 7下查看本机的ip地址

Windows 7下查看本机的ip地址 有两个方法 方法一&#xff1a; 找到桌面上的“网络”——》鼠标右键单击——》选择“属性”&#xff0c;进入网络和共享中心——》点击红笔圈出来的地方——》点击“详细信息”——》完

9月前730

解决cordova跳转本机自带浏览器的问题

原文链接cordova启动首页&#xff0c;访问远程服务器web_app幸福就是 你遇到一个问题千方百计找不到答案快疯了的时候&#xff0c;突然看到了希望。 由于已经在微信浏览器&#xff08;或者手机浏览

2025-3-21720

window上获取本机IP地址方法--windows编程

使用获取本地地址的方法比较多,简单点的就是ipconfig命令就好了,本地网络之类的图形界面而本次是使用作为一个程序员的方式来获取本地的ip地址。 InitSock.h如下: #include <WinSock2.h>#pr

2025-2-22850