自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (11)
  • 收藏
  • 关注

原创 使用ChatGPT帮女朋友过一个不一样的情人节

今年的首个情人节来了,是不是还没想好怎么过呢?或许这里的网页源码能帮到你出谋划策,想知道女朋友想要啥礼物请直接翻到文末,有惊喜。可以通过API KEY调用api,只是每次问答的时间稍微长一些,但是日常使用没什么问题,现在她玩得可开心了。

2023-02-15 18:11:33 337

原创 工作记录:DiscuzX中uc_authcode函数js版本,配合java双向加密解密

上周准备写一个js版的uc_authcode函数,根据网上整理的资料:http://bbs.csdn.net/topics/390310377?page=1中Frogant的源码(纯JS版)进行相关测试,同时引入了md5.js和base64.js库。测试结果的准确率不到一半,于是根据DX中的uc_authcode源码进行跟踪调试,发现问题出在base64的编码上,并对IE浏览器进行了兼容。

2014-12-22 09:53:49 2442

原创 工作记录:Form表单上传控件美化与上传文件类型限制

今天准备写一个用php校正被urlencode之后的多文件修复程序,需要用户上传文件夹,查阅资料发现除了各大网盘编写的控件可以上传文件夹可以达到效果,一般情况只能将文件夹压缩成zip压缩包,然后再后端用php解包再遍历目录。很快,写好了一个上传界面,但是在各个浏览器下样式完全不同,原来以chrome、firefox、IE都有自己独特的input[type=file]样式,于是对这三种浏览器做了兼容

2014-11-07 11:24:52 731

原创 工作记录:html网页采集利器:simple_html_dom,phpQuery

之前做网页采集一般使用正则匹配和字符串查找替换,很是麻烦,后来自从有了phpQuery类之后,采集方式变的和jquery一样简便。可并不是所有的html页面都能被phpQuery正确解析,有时候会出现解析失败的情况,例如很明显的一个ID标签对象,phpQuery却获取为空,在http://code.google.com/p/phpquery/上找到项目之后,发现没有更新的版本了,于是决定采用另一个

2014-11-05 16:10:27 2461

原创 工作记录:php实现对QQ号,手机号,IP地址添加星号作为掩码。

今天到了发奖的日期,考虑到对用户隐私的保护,需要对用户的QQ号和IP地址进行加星处理,于是写了下面2个函数。代码如下:

2014-10-22 11:24:04 2297

原创 工作记录:js数组实现权重概率分配。

今天写了一个js控制页面轮播的功能,如果仅仅使用队列很贱

2014-10-20 21:35:15 3270

原创 工作记录:js数组元素排队思路完美解决将浏览记录到cookie的问题

昨天写js使用cookie记录用户点击历史记录问题,发现

2014-10-15 10:42:29 746

360前端cdn公共js库e-z

幸好我写得一手好爬虫,2016年爬取了360前端js库代码共821MB。自libs.useso.com CDN镜像关闭之后,360前端cdn公共js库a-d和360前端cdn公共js库e-z这两部分便作为私服前端库。

2017-05-13

360前端cdn公共js库a-d

幸好我写得一手好爬虫,2016年爬取了360前端js库代码共821MB。自libs.useso.com CDN镜像关闭之后,360前端cdn公共js库a-d和360前端cdn公共js库e-z这两部分便作为私服前端库。

2017-05-13

PHP-redis单文件客户端

无需php-redis扩展支持,引入单个文件即可连接redis服务。 使用方法: include 'Redis-client.php'; $redis = new Redis('127.0.0.1', 6379); 注:此类仅作测试使用,正式环境请使用php-redis扩展。如果Windows下运行遇到Cannot redeclare class RedisException in ……报错,请注释掉php.ini中的extension=php_redis.dll。

2016-10-16

php-memcache单文件类库

无需php-memcache扩展支持,引入单个文件即可连接memcached服务。 使用方法: $mc = new memcached(array( 'servers' => array('127.0.0.1:11211'), 'debug' => false, 'compress_threshold' => 10240, 'persistant' => true)); 注:此类仅作测试使用,正式环境请使用php-memcache扩展。如果Windows下运行遇到Constant MEMCACHE_COMPRESSED already defined in ……报错,请注释掉php.ini中的extension=php_memcache.dll。

2016-10-16

Snoopy.class.php——登陆采集利器

Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单。使用Snoopy来模拟登陆,然后采集登陆后的页面非常管用! Snoopy的特点: 1、抓取网页的内容 fetch 2、抓取网页的文本内容 (去除HTML标签) fetchtext 3、抓取网页的链接,表单 fetchlinks fetchform 4、支持代理主机 5、支持基本的用户名/密码验证 6、支持设置 user_agent, referer(来路), cookies 和 header content(头文件) 7、支持浏览器重定向,并能控制重定向深度 8、能把网页中的链接扩展成高质量的url(默认) 9、提交数据并且获取返回值 10、支持跟踪HTML框架 11、支持重定向的时候传递cookies 要求php4以上就可以了,由于本身是php一个类,无需扩支持,服务器不支持curl时候的最好选择。

2015-12-08

Underscore.php——Underscore.js的php移植版

Underscore.js是目前最好用的Javascript工具包,提供了100多个函数。Underscore.php是Underscore.js的PHP移植版,并且实现了部分Underscore.js中的功能! 我花了一个月的时间将Underscore.php的文档翻译为中文,开源仓库地址: https://github.com/shuiguang/Underscore.php 注意:Underscore.php的原作者是老牌PHP程序员,其中使用静态调用方式访问非静态方法时php会提示Strict Standards: Non-static method的严谨性警告,不过只需要在php脚本的头部添加: error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED); 即可屏蔽该警告,笔者已经在php7正式版中做了大量测试,Underscore.php依然非常好用!

2015-12-08

java连接sqlserver2000和2008的三个jar包

学习java通过jdbc连接sqlserver2000和2008数据库时所需的三个jar包,对着project右键——Properties——Libraries——Add External JARs,添加 msbase.jar、mssqlserver.jar、msutil.jar这3个包。

2015-06-27

js版uc_authcode例子修正版

Discuz!X中uc_authcode函数js版本,可以与php版的uc_authcode双向加密解密。依赖文件:md5.js。依赖函数:base64_encode(js版)、base64_decode(js版)。对IE浏览器做了兼容,目前可兼容IE6,7,8,opera,firefox,google等浏览器。

2014-12-23

字符串边界截取函数

字符串边界截取函数,只需要输入原始字符串,左侧字符串,右侧字符串,即可返回中间的字符串(不带左侧和右侧字符串)。

2014-11-05

phpQuery-onefile.php

php解析html页面的类库之一,和jquery非常类似,用于采集html页面和解析node节点。phpQuery的功能比simple_html_dom强大,使用方式上更接近于jquery,查看其源码可以知道其所支持的属性和方法。 phpQuery存在单文件版本和多文件版本,一般使用单文件足以。使用方法如下: include 'phpQuery-onefile.php'; //面向对象方式2种读取方式 phpQuery::newDocumentFile('http://www.baidu.com'); $contents = get_html_contents($main_url); phpQuery::newDocument($contents); foreach(pq('img') as $img) { echo pq($img)->attr('src')."<br>"; } 可以看出,phpQuery的pq相当于jquery的$符号,使用方式基本一致,查阅jquery手册即可。不过gbk网页需要注意编码问题,因为其解析为utf8编码,网上说可以使用phpQuery::$defaultCharset="GBK"进行申明,但不一定成功,建议在utf8环境下操作,解析获取到想要的内容之后再转码为所需的编码。 同样,如果需要解析大量html页面,建议使用phpQuery::$documents = array();方法释放内存。

2014-11-05

simple_html_dom.php

php解析html页面的函数库之一,操作类似于原生js和jquery,主要用于采集html页面和解析node节点。simple_html_dom的常用操作: include 'simple_html_dom.php'; //面向过程方式2种读取方式 $html = file_get_html('http://www.baidu.com'); $html = str_get_html(file_get_contents('http://www.baidu.com')); //面向对象方式2种读取方式 $html = new simple_html_dom(); $html->load_file('http://www.baidu.com'); $html->load(file_get_contents('http://www.baidu.com')); foreach($html->find('img') as $img) { print_r($img->src)."<br>"; } simple_html_dom主打find方法,如果find只有一个参数其查找到的元素一般以对象数组的方式进行遍历;如果添加第二个参数表示索引则返回一个元素,如下: echo "<pre>"; print_r($html->find('img', 0)->src); echo "</pre>"; simple_html_dom的find方法参数一与jquery的模式基本一致,可以使用条件搜索,返回的变量e是一个对象,具有以下几类属性: $e->tag 与原生js的tagName对应,jquery的$(e).attr('nodeName')对应 $e->outertext 与原生js的outerHTML对应,jquery的$(e).attr('outerHTML')对应 $e->innertext 与原生js的innerHTML对应,jquery的$(e).attr('innerHTML')或$(e).html()对应 $e->plaintext 与原生js的innerText对应,jquery的$(e).attr('innerText')或$(e).text()对应 常用的方法如下: mixed $e->children(index) index为索引序号,返回第n个子节点对象 element $e->parent() 返回父节点对象 element $e->first_child() 返回第一个子节点对象 element $e->last_child() 返回最后一个子节点对象 element $e->next_sibling() 返回下一个邻节点对象 element $e->prev_sibling() 返回上一个邻节点对象 功能虽然发现的不多,但对应一般的html解析已经足够。如果需要解析大量html建议使用$html->clear()释放内存。

2014-11-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除