跟着ArthurXF学抄正则表达式
2009/06/22 18:02 ArthurXF
还在为写正则表达式头疼吧?看看我ArthurXF肖老师是如何抄正则的,注意咯,是抄不是写。呵呵!
你要找的正则表达式都在这个网站。
http://regexlib.com/
你可以根据类别查找你要的哪种正则,每个正则都有介绍,投票和能匹配什么,不能匹配什么。非常的实用啊。
ArthurXF强烈推荐去这个网站上去抄正则表达式。
友情提醒:该网站的正则一般使用PHP的eregi函数调用。
你要找的正则表达式都在这个网站。
http://regexlib.com/
你可以根据类别查找你要的哪种正则,每个正则都有介绍,投票和能匹配什么,不能匹配什么。非常的实用啊。
ArthurXF强烈推荐去这个网站上去抄正则表达式。
友情提醒:该网站的正则一般使用PHP的eregi函数调用。
让Yahoo中国的邮箱支持pop3和smtp!
2009/06/20 11:15 ArthurXF
确认你的雅虎邮箱是@yahoo.com.cn或者yahoo.cn的吗?
如果是先去http://mail.cn.yahoo.com/ , 用你的账号登陆进 yahoo 电邮,
然后把下面整个的链接贴到IE地址栏里(注意:整个都是一行): http://edit.my.yahoo.com/config/set_popfwd?.src=ym&.done=http://us.f93.mail.yahoo.com/ym/Options?YY=22797
该页面中有如下字样:
Yahoo! 电邮给您提供的两种免费功能可给您带来更多便利!作为Yahoo! Delivers的成员(当您注册的时候会被要求通过Yahoo! 电邮接收一封专门邮件),您可享受转发邮件和POP功能带来的方便。这两项功能对Yahoo! Delivers的用户都是免费的。
点击“提交”会进入一个确认页面,如下:
请打印此页,以供未来参考。
如果您选择在网上以及通过您的 POP 客户程序阅读 Yahoo! 电邮, 您需要为您的电子邮件客户端程序设定“POP服务器设置”(如:Eudora,Outlook,Netscape,等),这样它才能从您的Yaqhoo! 电邮帐户接收邮件。通常,您可在“选项”或“首选项”菜单中找到您的特定电子邮件程序。
重要:请勿删除您现正使用的来信设置!如果您已从另一个邮件服务器收到邮件(如发到网络提供商提供给您的邮件地址),您就需要添加一个新的P OP帐户。依您的电子邮件程序不同,有时它被称为新“个人档案”,有时则被称为新“风格”如果您的电子邮件客户端程序只允许您每次从一个P OP服务器接收邮件,请在用“Yahoo! 电邮”设置替换它们之前确保:已记下了您目前的设置;这样,如果您愿意还可把设置改回去。
要填写新的服务器设置,您需要了解以下信息。
服务器设置
接收邮件(POP3)服务器: pop.mail.yahoo.com.cn
发送邮件(SMTP)服务器: smtp.mail.yahoo.com.cn
或您ISP(网络服务提供商)的SMTP服务器地址这是什么意思?
帐号名/登录名:
电邮地址:
密码 您的 Yahoo! 电邮密码
如果是先去http://mail.cn.yahoo.com/ , 用你的账号登陆进 yahoo 电邮,
然后把下面整个的链接贴到IE地址栏里(注意:整个都是一行): http://edit.my.yahoo.com/config/set_popfwd?.src=ym&.done=http://us.f93.mail.yahoo.com/ym/Options?YY=22797
该页面中有如下字样:
Yahoo! 电邮给您提供的两种免费功能可给您带来更多便利!作为Yahoo! Delivers的成员(当您注册的时候会被要求通过Yahoo! 电邮接收一封专门邮件),您可享受转发邮件和POP功能带来的方便。这两项功能对Yahoo! Delivers的用户都是免费的。
点击“提交”会进入一个确认页面,如下:
请打印此页,以供未来参考。
如果您选择在网上以及通过您的 POP 客户程序阅读 Yahoo! 电邮, 您需要为您的电子邮件客户端程序设定“POP服务器设置”(如:Eudora,Outlook,Netscape,等),这样它才能从您的Yaqhoo! 电邮帐户接收邮件。通常,您可在“选项”或“首选项”菜单中找到您的特定电子邮件程序。
重要:请勿删除您现正使用的来信设置!如果您已从另一个邮件服务器收到邮件(如发到网络提供商提供给您的邮件地址),您就需要添加一个新的P OP帐户。依您的电子邮件程序不同,有时它被称为新“个人档案”,有时则被称为新“风格”如果您的电子邮件客户端程序只允许您每次从一个P OP服务器接收邮件,请在用“Yahoo! 电邮”设置替换它们之前确保:已记下了您目前的设置;这样,如果您愿意还可把设置改回去。
要填写新的服务器设置,您需要了解以下信息。
服务器设置
接收邮件(POP3)服务器: pop.mail.yahoo.com.cn
发送邮件(SMTP)服务器: smtp.mail.yahoo.com.cn
或您ISP(网络服务提供商)的SMTP服务器地址这是什么意思?
帐号名/登录名:
电邮地址:
密码 您的 Yahoo! 电邮密码
discuz的在线中文分词服务
2009/06/19 20:52 ArthurXF
本人ArthurXF倾情奉献此文章,转载请注明出处,谢谢。
中文分词越来越收到重视,可是如何去收集一个庞大的词库呢?又如何能够通过词库做好合理的中文分词呢?这些问题困扰着我们很长时间了。现在我来提供一个简单的分词方法,不需要提供词库就可以进行分词。还可以转编码呢?呵呵
http://keyword.discuz.com/related_kw.html?title=你的标题&content=你的内容&ics=输入时的编码&ocs=输出时的编码。
例子:
http://keyword.discuz.com/related_kw.html?title=BIWEB开源建站系统
就会返回一个XML,默认编码为GB2312.里面会拆分为 BIWEB、系统、开源三个词
这样只需要解析这个XML,就可以拿到拆分后的分词了,是不是很简单啊?呵呵。
BIWEB WMS开源建站系统,欢迎大家下载使用。http://www.biweb.cn
中文分词越来越收到重视,可是如何去收集一个庞大的词库呢?又如何能够通过词库做好合理的中文分词呢?这些问题困扰着我们很长时间了。现在我来提供一个简单的分词方法,不需要提供词库就可以进行分词。还可以转编码呢?呵呵
http://keyword.discuz.com/related_kw.html?title=你的标题&content=你的内容&ics=输入时的编码&ocs=输出时的编码。
例子:
http://keyword.discuz.com/related_kw.html?title=BIWEB开源建站系统
就会返回一个XML,默认编码为GB2312.里面会拆分为 BIWEB、系统、开源三个词
这样只需要解析这个XML,就可以拿到拆分后的分词了,是不是很简单啊?呵呵。
BIWEB WMS开源建站系统,欢迎大家下载使用。http://www.biweb.cn
centos换IP地址需要修改的文件
2009/06/16 23:31 ArthurXF
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/resolv.conf
/etc/hosts
以下是我的设置
/etc/sysconfig/network
这里主要是指定了网关
NETWORKING=yes
NETWORKING_IPV6=no
GATEWAY=192.168.1.1
HOSTNAME=localhost.localdomain
/etc/sysconfig/network-scripts/ifcfg-eth0
这里主要指定IP获得方式(static),ip地址,子网掩码,网络类型
# Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express
DEVICE=eth0
#BOOTPROTO=dhcp
BOOTPROTO=static
IPADDR=192.168.1.21
NETMASK=255.255.255.0
TYPE=Ethernet
HWADDR=XX:XX:XX:XX:XX:XX
ONBOOT=yes
/etc/resolv.conf
指定DNS
search localdomain
nameserver 192.168.1.1
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/resolv.conf
/etc/hosts
以下是我的设置
/etc/sysconfig/network
这里主要是指定了网关
NETWORKING=yes
NETWORKING_IPV6=no
GATEWAY=192.168.1.1
HOSTNAME=localhost.localdomain
/etc/sysconfig/network-scripts/ifcfg-eth0
这里主要指定IP获得方式(static),ip地址,子网掩码,网络类型
# Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express
DEVICE=eth0
#BOOTPROTO=dhcp
BOOTPROTO=static
IPADDR=192.168.1.21
NETMASK=255.255.255.0
TYPE=Ethernet
HWADDR=XX:XX:XX:XX:XX:XX
ONBOOT=yes
/etc/resolv.conf
指定DNS
search localdomain
nameserver 192.168.1.1
常见的rewrite规则大全
2009/06/13 15:32 ArthurXF
目标 | 重写设置 | 说明 |
规范化URL | RewriteRule ^/~([^/]+)/?(.*) /u/$1/$2 [R] | 将/~user重写为/u/user的形式 |
RewriteRule ^/([uge])/([^/]+)$ /$1/$2/ [R] | 将/u/user末尾漏掉的/补上 | |
规范化HostName | RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC] | 域名不合格 |
RewriteCond %{HTTP_HOST} !^$ | 不空 | |
RewriteCond %{SERVER_PORT} !^80$ | 不是80端口 | |
RewriteRule ^/(.*) http://fully.qualified.domain.name:%{SERVER_PORT}/$1 [L,R] | 重写 | |
RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC] | ||
RewriteCond %{HTTP_HOST} !^$ | ||
RewriteRule ^/(.*) http://fully.qualified.domain.name/$1 [L,R] | ||
URL根目录转移 | RewriteEngine on | |
RewriteRule ^/$ /e/www/ [R] | 从/移到/e/www/ | |
末尾目录补斜线 | RewriteEngine on | |
(目录范围内) | RewriteBase /~quux/ | |
RewriteRule ^foo$ foo/ [R] | /~quux/foo是一个目录,补/ | |
RewriteEngine on | ||
RewriteBase /~quux/ | ||
RewriteCond %{REQUEST_FILENAME} -d | 如果请文件名是个目录 | |
RewriteRule ^(.+[^/])$ $1/ [R] | URL末尾不是斜线时补上 | |
Web集群 | RewriteEngine on | |
RewriteMap user-to-host txt:/path/to/map.user-to-host | 用户-服务器映射 | |
RewriteMap group-to-host txt:/path/to/map.group-to-host | 组-服务器映射 | |
RewriteMap entity-to-host txt:/path/to/map.entity-to-host | 实体-服务器映射 | |
RewriteRule ^/u/([^/]+)/?(.*) http://${user-to-host:$1|server0}/u/$1/$2 | 用户均衡 | |
RewriteRule ^/g/([^/]+)/?(.*) http://${group-to-host:$1|server0}/g/$1/$2 | 组均衡 | |
RewriteRule ^/e/([^/]+)/?(.*) http://${entity-to-host:$1|server0}/e/$1/$2 | 实体均衡 | |
RewriteRule ^/([uge])/([^/]+)/?$ /$1/$2/.www/ | ||
RewriteRule ^/([uge])/([^/]+)/([^.]+.+) /$1/$2/.www/$3\ | ||
URL根目录搬迁 | RewriteEngine on | |
RewriteRule ^/~(.+) http://newserver/~$1 [R,L] | 到其它服务器 | |
所用户名首字母分 | RewriteEngine on | |
RewriteRule ^/~(([a-z])[a-z0-9]+)(.*) /home/$2/$1/.www$3 | 内一层括号为$2 | |
NCSA imagemap移 | RewriteEngine on | |
植为mod_imap | RewriteRule ^/cgi-bin/imagemap(.*) $1 [PT] | |
多目录查找资源 | RewriteEngine on | |
# first try to find it in custom/... | ||
RewriteCond /your/docroot/dir1/%{REQUEST_FILENAME} -f | ||
RewriteRule ^(.+) /your/docroot/dir1/$1 [L] | ||
# second try to find it in pub/... | ||
RewriteCond /your/docroot/dir2/%{REQUEST_FILENAME} -f | ||
RewriteRule ^(.+) /your/docroot/dir2/$1 [L] | ||
# else go on for other Alias or ScriptAlias directives, | ||
RewriteRule ^(.+) - [PT] | ||
据URL设置环境变量 | RewriteEngine on | |
RewriteRule ^(.*)/S=([^/]+)/(.*) $1/$3 [E=STATUS:$2] | ||
虚拟主机 | RewriteEngine on | |
RewriteCond %{HTTP_HOST} ^www\.[^.]+\.host\.com$ | 基于用户名 | |
RewriteRule ^(.+) %{HTTP_HOST}$1 [C] | ||
RewriteRule ^www\.([^.]+)\.host\.com(.*) /home/$1$2 | ||
内外人有别 | RewriteEngine on | |
RewriteCond %{REMOTE_HOST} !^.+\.ourdomain\.com$ | 基于远程主机 | |
RewriteRule ^(/~.+) http://www.somewhere.com/$1 [R,L] | ||
错误重定向 | RewriteEngine on | |
RewriteCond /your/docroot/%{REQUEST_FILENAME} !-f | 不是regular文件 | |
RewriteRule ^(.+) http://webserverB.dom/$1 | ||
程序处理特殊协议 | RewriteRule ^xredirect:(.+) /path/to/nph-xredirect.cgi/$1 \ | Xredirect协议 |
[T=application/x-httpd-cgi,L] | ||
最近镜像下载 | RewriteEngine on | |
RewriteMap multiplex txt:/path/to/map.cxan | 顶级域名与最近ftp服务器映射 | |
RewriteRule ^/CxAN/(.*) %{REMOTE_HOST}::$1 [C] | ||
RewriteRule ^.+\.([a-zA-Z]+)::(.*)$ ${multiplex:$1|ftp.default.dom}$2 [R,L] | 据顶级域名不同提供不同的FTP服务器 | |
基于时间重写 | RewriteEngine on | |
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0700 | ||
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1900 | ||
RewriteRule ^foo\.html$ foo.day.html | 白天为早晚7点间 | |
RewriteRule ^foo\.html$ foo.night.html | 其余为夜间 | |
向前兼容扩展名 | RewriteEngine on | |
RewriteBase /~quux/ | ||
# parse out basename, but remember the fact | ||
RewriteRule ^(.*)\.html$ $1 [C,E=WasHTML:yes] | ||
# rewrite to document.phtml if exists | ||
RewriteCond %{REQUEST_FILENAME}.phtml -f | 如果存在$1.phtml则重写 | |
RewriteRule ^(.*)$ $1.phtml [S=1] | ||
# else reverse the previous basename cutout | ||
RewriteCond %{ENV:WasHTML} ^yes$ | 如果不存在$1.phtml,则保持不变 | |
RewriteRule ^(.*)$ $1.html | ||
文件改名(目录级) | RewriteEngine on | 内部重写 |
RewriteBase /~quux/ | ||
RewriteRule ^foo\.html$ bar.html | ||
RewriteEngine on | 重定向由客户端再次提交 | |
RewriteBase /~quux/ | ||
RewriteRule ^foo\.html$ bar.html [R] | ||
据浏览器类型重写 | RewriteCond %{HTTP_USER_AGENT} ^Mozilla/3.* | |
RewriteRule ^foo\.html$ foo.NS.html [L] | ||
RewriteCond %{HTTP_USER_AGENT} ^Lynx/.* [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[12].* | ||
RewriteRule ^foo\.html$ foo.20.html [L] | ||
RewriteRule ^foo\.html$ foo.32.html [L] | ||
动态镜像远程资源 | RewriteEngine on | |
RewriteBase /~quux/ | ||
RewriteRule ^hotsheet/(.*)$ http://www.tstimpreso.com/hotsheet/$1 [P] | 利用了代理模块 | |
RewriteEngine on | ||
RewriteBase /~quux/ | ||
RewriteRule ^usa-news\.html$ http://www.quux-corp.com/news/index.html [P] | ||
反向动态镜像 | RewriteEngine on | |
RewriteCond /mirror/of/remotesite/$1 -U | ||
RewriteRule ^http://www\.remotesite\.com/(.*)$ /mirror/of/remotesite/$1 | ||
负载均衡 | RewriteEngine on | 利用代理实现round-robin效果 |
RewriteMap lb prg:/path/to/lb.pl | ||
RewriteRule ^/(.+)$ ${lb:$1} [P,L] | ||
#!/path/to/perl | ||
$| = 1; | ||
$name = "www"; # the hostname base | ||
$first = 1; # the first server (not 0 here, because 0 is myself) | ||
$last = 5; # the last server in the round-robin | ||
$domain = "foo.dom"; # the domainname | ||
$cnt = 0; | ||
while (<STDIN>) { | ||
$cnt = (($cnt+1) % ($last+1-$first)); | ||
$server = sprintf("%s%d.%s", $name, $cnt+$first, $domain); | ||
print "http://$server/$_"; | ||
} | ||
##EOF## | ||
静态页面变脚本 | RewriteEngine on | |
RewriteBase /~quux/ | ||
RewriteRule ^foo\.html$ foo.cgi [T=application/x-httpd-cgi] | ||
阻击机器人 | RewriteCond %{HTTP_USER_AGENT} ^NameOfBadRobot.* | |
RewriteCond %{REMOTE_ADDR} ^123\.45\.67\.[8-9]$ | ||
RewriteRule ^/~quux/foo/arc/.+ - [F] | ||
阻止盗连你的图片 | RewriteCond %{HTTP_REFERER} !^$ | |
RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC] | 自己的连接可不能被阻止 | |
RewriteRule .*\.gif$ - [F] | ||
RewriteCond %{HTTP_REFERER} !^$ | ||
RewriteCond %{HTTP_REFERER} !.*/foo-with-gif\.html$ | ||
RewriteRule ^inlined-in-foo\.gif$ - [F] | ||
拒绝某些主机访问 | RewriteEngine on | |
RewriteMap hosts-deny txt:/path/to/hosts.deny | ||
RewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND [OR] | ||
RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND | ||
RewriteRule ^/.* - [F] | ||
用户授权 | RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} !^friend1@client1.quux-corp\.com$ | |
RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} !^friend2@client2.quux-corp\.com$ | ||
RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} !^friend3@client3.quux-corp\.com$ | ||
RewriteRule ^/~quux/only-for-friends/ - [F] | ||
外部重写程序模板 | RewriteEngine on | |
RewriteMap quux-map prg:/path/to/map.quux.pl | ||
RewriteRule ^/~quux/(.*)$ /~quux/${quux-map:$1} | ||
#!/path/to/perl | ||
$| = 1; | ||
while (<>) { | ||
s|^foo/|bar/|; | ||
print $_; | ||
} | ||
搜索引擎友好 | RewriteRule ^/products$ /content.php | |
RewriteRule ^/products/([0-9]+)$ /content.php?id=$1 | ||
RewriteRule ^/products/([0-9]+),([ad]*),([0-9]{0,3}),([0-9]*),([0-9]*$) /marso/content.php?id=$1&sort=$2&order=$3&start=$4 |