[4]xlongwei工具类
百度API:xlongwei
这个人提供的接口很多啊,也很实用:Word转Html、Word转Pdf、属性配置、手机号段、微信公众号消息加密、微信公众号消息解密、二维码、关键词、分词、拼音、生僻字、微博短链接。但是很多都不感兴趣的,除了一个,那就是中文分词啊。以前某天突然对浏览器以及编辑器中的鼠标双击事件直接选中词组或者一段数字很好奇。然后问群里人,群里说是中文分词,之后看书(应该是《暗时间》)也无意看到。还扯出了开始思考好多巧合不是巧合的未解决的心理问题。虽然现在的知识以及技术对自然语言还无法处理,但是用接口感受一下还是不算过分吧。
1.Word转Html、Word转Pdf
【选择Word文档】触发file类型的input的click事件(代码里面用了jquery,也可以直接用js写这块就不用引入jq文件了)。然后点转换,执行上传+转换。最后的链接就是本服务器存储的来自API的处理文件
<html>
<head><meta charset="utf-8">
<script type="text/javascript" src="./js/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('#wordx').click(function(){
$('#file').click();
});
});
</script>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" style="display:none"/>
<input type="button" id="wordx" value="选择Word文档">
<br />
<input type="submit" name="submit" value="WORD转Html" />
</form>
</body> </html>
<?php
$maxSize=5*1024*1024;//5M
if(!isset($_FILES["file"]["error"])){
exit;
}
if($_FILES["file"]["error"] > 0){
echo "Error: " . $_FILES["file"]["error"] . "<br />";
exit;
}else{
/* echo "Upload: " . $_FILES["file"]["name"] . "<br />";
//echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"].'<br/>';
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";*/ $suffix=substr(strrchr($_FILES["file"]["name"], '.'), 1);
if($suffix!='doc' && $suffix!='docx'){
echo '只允许doc和docx格式word文件';
exit;
}
if($_FILES["file"]["size"]>$maxSize){
echo '大于'.$maxSize/(1024*1024).'Mb';
exit;
} $name=date('YmdHis',time()).rand(1000,10000).'.'.$suffix;//拼接文件名
if (file_exists("upload/" . $name)){
echo $_FILES["file"]["name"] . " already exists. ";
exit;
}else{
$domain=$_SERVER['SERVER_NAME'];
$status=move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $name);
//echo "Stored in: " . "upload/" . $name;
$url="http://{$domain}/api/upload/{$name}";
if ( (!file_exists ("upload/{$name}")) || !$status){
echo '上传失败';
exit;
}else{
//echo "<a href='{$url}'>上传成功</a><br/>";
//echo "上传成功<br/>";
} //Word转Html $ch = curl_init();
$url = 'http://apis.baidu.com/xlongwei/open/doc2html?url='.$url;
$header = array(
'apikey:百度API密钥',
);
curl_setopt($ch, CURLOPT_HTTPHEADER , $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 执行HTTP请求
curl_setopt($ch , CURLOPT_URL , $url);
$res = curl_exec($ch);
$data=json_decode($res,true);
//var_dump($data);
$htmlurl=NULL;
if(isset($data['domain'])&&isset($data['path'])){
$htmlurl=$data['domain'].$data['path'];
$name=$name=date('YmdHis',time()).rand(1000,10000).'.html';
$status=copy($htmlurl,"html/" . $name);//网络链接的文件不能用move_uploaded_file,用了copy可以
if($status){
$htmlurl="http://{$domain}/api/html/{$name}";
}else{
//echo '挪动出错';
//exit;
}
echo "<a href='$htmlurl'>Html转换完成</a>"; }else{
echo '服务器错误,请重试。';
exit;
}
}
}
?>
Word转Html完整代码
Pdf类似,只是接口处有不同。感觉效果还蛮好的嘛。肯定了,又不是相反的接口。
2.二维码
我的神器海螺呢,还想问问二维码什么原理呢。
3.中文分词
Ansj中文分词 这是一个ictclas的java实现.
好棒,这分词。之后顺便把拼音也嵌入到分词中去。
其中单字有多音字就会有好几个音,比如这个吃(chi ji)、吐(tu3 tu4),所以判断存不存在header(header 是拼音的首拼)然后空格分割取第一个(因为看到第一个大多数比较准确且自己也分辨不出第几个是最好的啊)就OK。
挑一个BUG:不了了之 bulelezhi,为什么不加成语字典呢。
[4]xlongwei工具类的更多相关文章
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- [转]Java常用工具类集合
转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- Guava库介绍之实用工具类
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...
- Java程序员的日常—— Arrays工具类的使用
这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...
- .net使用正则表达式校验、匹配字符工具类
开发程序离不开数据的校验,这里整理了一些数据的校验.匹配的方法: /// <summary> /// 字符(串)验证.匹配工具类 /// </summary> public c ...
- WebUtils-网络请求工具类
网络请求工具类,大幅代码借鉴aplipay. using System; using System.Collections.Generic; using System.IO; using System ...
- JAVA 日期格式工具类DateUtil.java
DateUtil.java package pers.kangxu.datautils.utils; import java.text.SimpleDateFormat; import java.ut ...
随机推荐
- 总是有一个程序的bug没找到
算法训练 Lift and Throw 时间限制:3.0s 内存限制:256.0MB 问题描述 给定一条标有整点(1, 2, 3, ...)的射线. 定义两个点之间的距离为其下标之 ...
- 倒计时simple 天时分秒
new Date()new Date(yyyy,mth,dd,hh,mm,ss); //月从0计数 .getTime()返回的是一个long型的毫秒数 毫秒转成 秒 分 时 天 <div id= ...
- java.lang.IllegalStateException: getOutputStream() has already been called for this response
ERROR [Engine] StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exceptionjava.lang ...
- SQL入门语句之INSERT、UPDATE和DELETE
一.SQL入门语句之INSERT insert语句的功能是向数据库的某个表中插入一个新的数据行 1.根据对应的字段插入相对应的值 insert into table_name(字段A, 字段B, 字段 ...
- python selenium中使用ddt进行数据驱动测试
- vs2008所有DTE.ExecuteCommand命令
下面列表中为我当前机器上visual studio 2008所有DTE.ExecuteCommand命令的内容: 其中:Build.开头对应“编译”菜单下命令(如:Build.RebuildSolut ...
- come on,逆战
腾讯游戏 琳琅天上 逆战 ...
- for循环中i--的妙用 及 两变量互换数值的问题
int[] array = new int[4]; for(int i = 0; i < array.length; i++){ array[i] = (int)(Math.random() * ...
- 汽车遥控钥匙HCS101/HCS200/HCS201/HCS300芯片解密
汽车遥控钥匙芯片解密ic解密型号: HCS101 | HCS200 | HCS201 | HCS201T | HCS300 | HCS300T HCS301 | HCS301T | HCS360 | ...
- Android Studio 在mac下对应的快捷键
Mac下快捷键的符号所对应的按键⌥-> option|alt⇧->shift⌃->control⌘->command⎋->esc注: 与F6/F7/F12等F功能键开头的 ...