五 31
系统带的函数:
strip_tags($str); // Strip HTML and PHP tags from a string
自己写的函数:
/**
* 清除指定内容中的HTML 标记
*
* @param string $content
* @return string $text
*/
function clear_tag($content)
{
$search = array ("''si", // 去掉 javascript
"'
'si", // 去掉 javascript
"'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记
"'([\r\n])[\s]+'", // 去掉空白字符
"'&(quot|#34);'i", // 替换 HTML 实体
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt ... (全文...)
五 29
一、编码范围1. GBK (GB2312/GB18030)
\x00-\xff GBK双字节编码范围
\x20-\x7f ASCII
\xa1-\xff 中文
\x80-\xff 中文
2. UTF-8 (Unicode)
\u4e00-\u9fa5 (中文)
\x3130-\x318F (韩文
\xAC00-\xD7A3 (韩文)
\u0800-\u4e00 (日文)
ps: 韩文是大于[\u9fa5]的字符
正则例子:
preg_replace("/([\x80-\xff])/","",$str);
preg_replace("/([u4e00-u9fa5])/","",$str);
二、代码例子
//判断内容里有没有中文-GBK (PHP)
function check_is_chinese($s){
return preg_match('/[\x80-\xff]./', $s);
}
//获取字符串长度-GBK (PHP)
function gb_strlen($str){
$count = 0;
fo ... (全文...)
五 29
搜索引擎的工作流程主要分为三步:从互联网抓取网页→创建抓取网页的索引库→从索引库中进行搜索。
首先需要一个能访问网络的爬虫器程序,依据URL之间的关联性自动爬行整个互联网,并对爬行过的网页进行抓取收集。当网页被收集回来后,采用索引分析程序进行网页信息的分析,依据一定的相关度算法(如超链接算法)进行大量计算,创建倒排序的索引库。索引库建好后用户就可以通过提供的搜索界面提交关键词进行搜索,依据特定的排序算法返回搜索结果。因此,搜索引擎并不是对互联网进行直接搜索,而是对已抓取网页索引库的搜索,这也是能快速返回搜索结果的原因,索引在 ... (全文...)
五 29
这个结构一般用于数据库的索引,综合效率非常高,像 Berkerly DB , sqlite , mysql 数据库都使用了这个算法处理索引。
如果想自己做个小型数据库,可以参考一下这个算法的实现:
/* btrees.h */
/*
* 平衡多路树的一种重要方案。
* 在 1970 年由 R. Bayer 和 E. McCreight 发明。
*/
#define M 1
/* B 树的阶,即非根节点中键的最小数目。
* 有些人把阶定义为非根节点中子树的最大数目。
*/
typedef int typekey;
typedef struct btnode { /* B-Tree 节点 */
int d; /* 节点中键的数目 */
typekey k[2*M]; /* 键 */
char *v[2*M]; /* 值 */
struct btnode *p[ ... (全文...)
五 27
就算 Linux 没有 GUI(图形用户界面),我们在 CLI(命令行界面)中依然能够应付自如。从浏览网络到联络朋友,从获取资源到音影娱乐,从编辑文本到观看图片……在 GUI 中能做的,CLI 也同样可以办到。我想这即是 Linux 的魅力了。
五 27
【声母】
b-p:补破皮褥子不如不补破皮褥子(《补皮褥子》)
b-p:吃葡萄不吐葡萄皮儿,不吃葡萄倒吐葡萄皮儿(《葡萄皮儿》)
d:会炖我的炖冻豆腐,来炖我的炖冻豆腐,不会炖我的炖冻豆腐,就别炖我的炖冻豆腐。要是混充会炖我的炖冻豆腐,炖坏了我的炖冻豆腐,哪就吃不成我的炖冻豆腐(《炖冻豆腐》)。
l:六十六岁刘老六,修了六十六座走马楼,楼上摆了六十六瓶苏合油,门前栽了六十六棵垂杨柳,柳上拴了六十六个大马猴。忽然一阵狂风起,吹倒了六十六座走马楼,打翻了六十六瓶苏合油,压倒了六十六棵垂杨柳,吓跑了六十六个大马猴,气死了六十六岁刘老 ... (全文...)
五 27
2007年5月27号的题目
1.百度时间
Baidu的服务器上使用的不是北京时间,而是Baidu时间。Baidu时间的时分秒与北京时间相同,但是日期与北京时间不同,是用一个正整数表示从2000年1月1日开始经过了几天。
现在就请大家设计一个程序将北京时间转换为百度时间。在本题中,闰年的年份是400的倍数,或者是4的倍数但不是100的倍数。比如2000和8888均为闰年,但6100不是。
输入格式
输入数据的每一行为一个待转化的北京时间(不含空格和TAB),正确的格式包括两种:
一种为:YYYY-MM-DD,(YYYY表示四位数年份,MM为两位月份,DD为两位日期);
另一种为:MM/DD/YYYY,(YYYY表示 ... (全文...)
五 27
2007年5月26号的题目:
1.水果开会时段
每个百度工程师团队都有一笔还算丰裕的食品经费,足够每天购置多种水果。水果往往下午送达公司前台。前台的姐姐们只要看到同时出现五种或以上的水果,就称之为“水果开会”。
从搜索引擎切词的语法角度,只要两种水果的名字中有一个字相同就属于同样的类别。例如“小雪梨”和“大雪梨”是同一种水果,而“核桃”和“水蜜桃”也被认为是同一种水果。尤其要指出的是,如果有三种水果x, y, z同时在前台出现,且x和y是同一种水果,y和z也是同一种水果的时候,x和z在此时也被认为是同一种水果(即使x和z并不包含相同的字)。现在前 ... (全文...)
五 27
2007年5月26号
百度之星编程比赛 第二题 数7
#include
#include
//int maxa=10002, maxb=10002, maxc=240003, maxd=2001;
#define maxa 10002
#define maxb 10002
#define maxc 240003
#define maxd 2001
int a[maxa], ra[maxa], b[maxb], rb[maxb], c[maxc];
int main()
{
int digit[10];
int x,y,z,n,mc,mra,mrb;
int i,j,k,kk,flag,f;
char s[6];
memset(a, 0, sizeof(a) );
memset(ra, 0, sizeof(ra));
memset(b, 0, sizeof(b) );
memset(rb, 0, sizeof(rb));
memset(c, 0, sizeof(c) );
// calc for req1 and first half of query n
for (i=1, k=1; i(全文...)
五 27
2007年5月27号
百度之星编程比赛 第四题 inurl 高级查询
#include
#include
#define maxn 9999
#define maxstrlen 258
int m,n;
char site[maxn][maxstrlen], inurl[maxn][maxstrlen];
char str1[maxstrlen], str2[maxstrlen];
char *pos;
int main()
{
int i,j,k;
memset(site,'\0',sizeof(site));
memset(inurl,'\0',sizeof(inurl));
scanf("%d", &n);
for(i=0; i(全文...)