组保留的标签 余下为需要删除的标签
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;
}
?>
这些搜索技巧你不会?-阿南达文事网
这些搜索技巧你不会?
编程日记10
更新时间:2025-05-26 09:22:43 这些搜索技巧你不会?
- Hey, 我是 沉浸式趣谈
- 本文首发于【沉浸式趣谈】,我的个人博客 也同步更新。
- 转载请在文章开头注明出处和版权信息。
- 如果本文对您有所帮助,请 点赞、评论、转发,支持一下,谢谢!
每天搜索,你却只会简单输入几个词?
搜索结果总被广告和无关内容淹没?
掌握这些搜索技巧,让你不再在信息海洋中迷失,直达目标信息!
基础搜索技巧
1. 多关键词搜索
- 方式:
关键词1 关键词2 关键词3
- 例如:
Python 教程 初学者
- 含义:同时搜索包含"Python"、"教程"和"初学者"这三个词的内容,帮你找到专为新手准备的 Python 学习资料
2. 任意关键词匹配
- 方式:
关键词1 | 关键词2
- 例如:
沉浸式趣谈 | 沉浸式
- 含义:搜索结果会包含"沉浸式趣谈"或"沉浸式"任一关键词,当你不确定确切名称时很有用
3. 精确匹配搜索
- 方式:
"完整短语"
- 例如:
"如何提高编程效率"
- 含义:只搜索完全匹配这个短语的结果,避免搜索引擎拆分词语导致出现不相关内容
高级过滤技巧
4. 模糊搜索
- 方式:
部分关键词*
- 例如:
git comi*
- 含义:能找到以"git comi"开头的各种内容,比如"git commit"、"git comit"等,当你记不清完整拼写时很实用
5. 排除干扰结果
- 方式:
关键词 -排除词
- 例如:
Python -蛇
- 含义:搜索 Python 相关内容,但排除与蛇有关的结果,避免搜索结果被动物学内容干扰
专业定向搜索
6. 限定标题搜索
- 方式:
intitle:关键词
- 例如:
intitle:人工智能
- 含义:只搜索标题中包含"人工智能"的网页,提高搜索结果相关性和权威性
7. 限定网站内搜索
- 方式:
关键词 site:网站域名
- 例如:
cron site:npmjs
- 含义:只在 npmjs 网站内搜索与"cron"相关的内容,相当于使用网站自带的搜索功能
8. 搜索特定类型文件
- 方式:
关键词 filetype:文件类型
- 例如:
"微博" "高并发" filetype:pdf
- 含义:只搜索 PDF 格式的文件,且内容包含"微博"和"高并发"关键词,适合查找技术文档或论文
9. 搜索图书
- 方式:
《书名》
- 例如:
《如何成为学习高手》
- 含义:使用书名号快速定位图书相关信息,比普通关键词搜索更精确地找到特定书籍
时间与相关性搜索
10. 限定时间范围
- 方式:
关键词 after:年份
或 关键词 before:年份
或 关键词 in 起始年份...结束年份
- 例如:
新冠疫情 after:2020
- 含义:只搜索 2020 年之后发布的新冠疫情相关内容,避免过时信息,获取最新资料
11. 寻找相似网站
- 方式:
related:网站域名
- 例如:
related:github
- 含义:搜索与 GitHub 类似的网站,帮你发现同类型但可能不知道的其他平台
总结
掌握这些搜索技巧,能让你在信息海洋中更快找到真正需要的内容。最有效的方法是将多种技巧组合使用,例如:
机器学习 教程 filetype:pdf -付费 after:2022 site:github.io
这会搜索 2022 年之后发布在 github.io 域名上的免费机器学习教程 PDF 文件。
你有什么常用的搜索技巧?
欢迎在评论区分享!
本文发布于:2025-05-26,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:这些搜索技巧你不会
发布评论