随笔 - 1330  文章 - 1  评论 - 378  阅读 - 482万 
复制代码
代码
首先看代码以gbk为例 
<?php

//强制使用字符集

@
header('Content-Type: text/html; charset=gbk');

$subjectenc = $_GET['subjectenc'];

$messageenc = preg_replace("/\[.+?\]/U", '', $_GET['messageenc']);

//关键部分,这里是将你网站的文章标题和内容发送到dz的标签库中去匹配,返回的是一个xml文档

$data = @implode('', file("http://keyword.discuz.com/related_kw.html?title=$subjectenc&content=$messageenc&ics=gbk&ocs=gbk"));//把标题和内容发送到dz官方去找

if($data) {//有数据返回

$parser = xml_parser_create();//建立一个 XML 解析器

xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);

xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);

xml_parse_into_struct($parser, $data, $values, $index);//将 XML 数据解析到数组中

xml_parser_free($parser);

$kws = array();

foreach($values as $valuearray) {//循环单曲xml中的数据到数组$kws

  
if($valuearray['tag'== 'kw' || $valuearray['tag'== 'ekw') {

    
$kws[] = siconv(trim($valuearray['value']), ‘gbk’, 'utf-8');//编码转换

   }

}

$return = '';

if($kws) {

  
foreach($kws as $kw) {

   
$return .= $kw.' ';//把获取到的标签用空格链接

  }

  
$return = trim($return);

}

echo  $return;//返回匹配到的标签

else {

echo ' ';//没有匹配的标签

}

?>
复制代码

 

posted on   钱途无梁  阅读(1088)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示