- 浏览: 797703 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
aliang032:
文章很赞,有几个缺点:1、是你的服务端是单进程的,如果进程挂了 ...
php socket编程实例详解 -
最佳蜗牛:
最佳蜗牛 写道是不是缺少了一个toolbar.Realize( ...
wxPython写的简易编辑器(原创) -
最佳蜗牛:
是不是缺少了一个toolbar.Realize()?
wxPython写的简易编辑器(原创) -
最佳蜗牛:
2.7.3版本里不能显示工具栏的图标
wxPython写的简易编辑器(原创) -
sogo6:
我怎么安装的也不行? 裸奔啊。。。。。
让TextMate支持中文显示
在php开发时,日常不可或缺地会用到正则表达式,可每次都要重新写,有时忘记了某一函数还要翻查手册,所以,抽空写了一个关于日常所用到的正则表达式区配类,便于随便移置调用.(^_^有点偷懒).
- /*/////////////////////////////////////////////////////////////
- * 类MatchAll功能:主要用于php日常所用到的几种检测匹配或提取特定字符.//
- * 主要参数设置说明: $target_str 为目标字符即需要检测的字符或数字。//
- * $isFind true:提取出匹配字符;false:单纯检测是否存在特定字符. //
- * $isTotal true: 完全匹配模式;false:部分匹配模式. //
- * @author: purpen //
- * @email: purpen.w@gmail.com //
- * @data: 2007-07-29 //
- */////////////////////////////////////////////////////
- class MatchAll {
- /**
- * 功能: 用于检测IP地址是否合法或从字符串中提取IP字符.
- *
- * @param string $target_str
- * @param boolean $isFind
- * @param boolean $isTotal
- * @return mixed
- */
- public static function IP_match($target_str, $isFind=false, $isTotal=false) {
- //采取的匹配模式
- if ($isTotal == true) {
- $pattern = "/^(\d{1,3}\.){3}\d{1,3}$/";
- }else{
- $pattern = "/(\d{1,3}\.){3}\d{1,3}/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
- /**
- * 功能: 用于检测身份证号是否合法或从字符串中提取出身份证号字符.
- *
- * @param mixed $target_str
- * @param boolean $isFind
- * @param boolean $isTotal
- * @return mixed
- */
- public static function IDCard_match($target_str, $isFind=false, $isTotal=false){
- //采取的匹配模式
- if ($isTotal == true){
- $pattern = "/^(\d{18}|\d{17}X|\d{15})$/";
- }else{
- $pattern = "/(\d{18}|\d{17}X|\d{15})/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
- /**
- * 功能: 用于检测电话号码是否合法或从字符长串中提取出电话号码.
- * @param mixed $target_str
- * (例如: 010-87965421、(010)87965421、87965421、0394-5568447、(0394)5568447、5568447)
- * @param boolean $isFind
- * @param boolean $isTotal
- * @return mixed
- */
- public static function phone_match($target_str, $isFind=false, $isTotal=false) {
- //采用匹配模式
- if ($isTotal == true) {
- $pattern = "/^((\(?\d{3,4}\))?|(\d{3,4}-)?)\d{7,8}$/";
- }else{
- $pattern = "/((\(?\d{3,4}\))?|(\d{3,4}-)?)\d{7,8}/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
- /**
- * 功能:用于检测邮政编码是否合法或从字符长串中提取出邮政编码字符.
- *
- * @param mixed $target_str
- * @param boolean $isFind
- * @param boolean $isTotal
- * @return mixed
- */
- public static function postalcode_match($target_str, $isFind=false, $isTotal=false) {
- //采取的匹配模式
- if ($isTotal == true) {
- $pattern = "/^\d{6}$/";
- }else{
- $pattern = "/\d{6}/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
- /**
- * 功能: 用于完全匹配、部队匹配或提出网络url的方法.
- * @param string $target_str
- * @param boolean $isFind 是否提取出匹配目标
- * @param boolean $isTotal 是否完全匹配
- * @return mixed
- */
- public static function neturl_match ($target_str, $isFind=false, $isTotal=false) {
- //采用的匹配模式
- if ($isTotal == true) {
- $pattern = "/^(http\:\/\/)?[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*.+$/";
- }else{
- $pattern = "/(http\:\/\/)?[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
- /**
- * 功能: 用于检测email是否合法或从字符串中提取出email字符串.
- * @param string $target_str
- * @param boolean $isFind 是否提取出字符串
- * @param boolean $isTotal是否完全匹配
- * @return mixed
- */
- public static function email_match ($target_str, $isFind=false, $isTotal=false){
- //采取的匹配模式
- if ($isTotal == true){
- $pattern = "/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*$/";
- }else{
- $pattern = "/[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
- /**
- * 功能:用于完全匹配、部分匹配或提取出钱币数字的方法.
- * @param mixed $target_str
- * @param boolean $isFind
- * @param boolean $isTotal
- * @return mixed
- */
- public static function money_match($target_str, $isFind=false, $isTotal=false) {
- //采用完全匹配
- if ($isTotal == true) {
- $pattern = "/^[0-9]{1,3}(,[0-9]{3})*(\.[0-9]+)?$/";
- }else{//部分匹配
- $pattern = "/[0-9]{1,3}(,[0-9]{3})*(\.[0-9]+)?/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
- /**
- * 功能:开始匹配目标字符串动作.
- *
- * @param mixed $target_str
- * @param string $pattern
- * @param boolean $isFind
- * @return mixed
- */
- public function get_match_result($target_str, $pattern, $isFind) {
- //是否提取出匹配目标
- if ($isFind == true) {
- preg_match($pattern, $target_str, $result);
- }else{
- $result = preg_match($pattern, $target_str);
- }
- return $result;
- }
- /**
- * 功能: 用于匹配测试
- * @param str $target_str //$target_str = "select a, b, c, d from d";
- */
- public function all_match($target_str) {
- $pattern = "/select(.+)from(\s[a-zA-Z0-9])/i";
- preg_match($pattern, $target_str, $result);
- $fields = split(",", $result[1]);
- print $result[2];
- print "";
- return $fields;
- }
- }
有什么不足之处或错误的,还请通知一声,3ku 路过的高手们了.
发表评论
-
Installing Phusion Passenger and nginx on Mac OS X
2013-03-08 18:04 1682I was trying to install Phusi ... -
file 'lib' not found when installing rails 3.1 on Mac OS X Lion
2011-08-24 23:48 1479使用gem install rails安装rails时,一直出 ... -
使用rvm管理ruby版本
2011-08-24 23:43 1535$ bash < <( curl http: ... -
Heyes Template Class php模板引擎
2010-09-11 19:08 1424程序名称:Heyes Template Class php模板 ... -
用python爬虫抓站的一些技巧总结
2010-08-28 17:49 2294这些脚本有一个共性,都是和web相关的,总要用到获取链接的一些 ... -
python中处理中文编码问题
2010-07-29 02:47 4051今天在尝试Python的CGI ... -
php5的抽象方法和抽象类的理解
2007-07-11 23:18 1955前两天去一公司面试,他们给了一份试卷来考核php的知识 ... -
php初学者注意的问题(转)
2007-07-08 19:25 1182【1】页面之间无法传递变量 get,post,session在 ... -
在PHP5中类(CLASS)的新特征(转)
2007-07-07 11:17 1450在PHP5中类(CLASS)的新特 ... -
windows 2000/xp/2003下安裝apache2.2.3 mysql 5.0.22 php 5.2.0(转)
2007-07-07 01:19 2470先从网站上下载APACHE2.2.3 Mysql ... -
python fnmatch实现shell风格匹配模式来匹配特定的字符
2007-07-05 15:57 5377今天看《Programming Python 3nd Edit ... -
python 执行系统命令比较
2007-07-05 12:12 25301在此比较一下两种方法执行系统命令的方法,以方便于日后运用:( ... -
python递归层次的RuntimeError
2007-05-23 10:15 2379File "build/bdist.freebsd ... -
用mencoder进行任意视频格式转换成flv
2007-05-07 23:12 7439在命令行下输入此行代 ... -
学习资源
2007-04-05 11:49 2297============== FastCGI的资源 ==== ... -
php当作shell脚本使用
2007-04-05 10:37 2439将PHP作为Shell脚本语言使用 本文出自:http:// ...
相关推荐
以上内容向我们展示了在PHP中使用正则表达式匹配和操作标签中属性的多种方法。掌握这些技巧,可以大大提高处理网页内容时的效率和准确性。对于经常需要进行类似操作的开发者来说,这些正则表达式的使用方法非常实用...
正则表达式功能强大,它们不仅可以用于字符串匹配、数据验证和文本检索,还能帮助程序或脚本实现复杂的文本处理功能,例如文本替换、字段提取、数据清洗等。掌握正则表达式对于处理文本数据,尤其是处理未经结构化的...
正则表达式是PHP中的一个重要工具,用于处理字符串匹配、查找、替换等操作,是进行数据验证的关键技术。本文将深入探讨PHP中的正则表达式以及如何实现汉字转拼音,同时也会提及获取IP地址的相关知识。 1. PHP 正则...
1. **跨平台性**:正则表达式作为一种通用的标准,几乎可以在所有的UNIX系统和很多其他操作系统中使用。 2. **广泛的应用场景**: - **文本处理**:比如在日志文件中搜索特定的错误信息。 - **数据验证**:验证...
例如,`\`用于转义特殊字符,`^`用于匹配字符串的开始,`*`表示前一个字符可以出现零次或多次。 正则表达式在PHP中通常与`preg_match()`、`preg_replace()`或`preg_split()`函数结合使用,进行模式匹配、替换或分割...
例如,在正则表达式“ab\d+”中,“ab”是普通字符,而“\d”表示任何一个数字字符(0-9),它的“+”则表示前面的字符可以出现一次或多次。正则表达式通过这些元字符的组合来形成复杂的匹配规则。 常见的元字符有...
而数量限定符则是用来指定前面字符可以出现的次数,例如“X+”表示一个或多个“X”,“X*”表示零个或多个“X”,“X?”表示零个或一个“X”,“X{n}”表示恰好n个“X”,“X{n,}”表示至少n个“X”,而“X{n,m}”...
在不同的编程语言或工具中,正则表达式的语法可能略有不同,但基本的特殊字符和匹配规则是通用的。 通过本篇文章,希望大家能够对正则表达式中的 \w 和 \d 有更深入的理解,并在实际开发中正确地使用它们来完成文本...
正则表达式允许用户创建复杂的模式来匹配字符串中的特定部分,从而实现对文本数据的强大控制能力。 #### 二、正则表达式的特点与功能 正则表达式具备以下特点: 1. **通用性**:几乎所有现代编程语言都支持正则...
例如,使用preg_match()可以检测一个字符串是否符合特定的格式,preg_replace()则可以实现全局替换。 2. 高效文本处理:由于oniguruma的高性能,对于大量文本数据的处理,使用其提供的正则表达式功能能大大提高处理...
"php通用截取字符串"这个主题主要涉及如何在PHP中对字符串进行截取,以便获取我们感兴趣的特定部分。这通常用于显示预览、处理用户输入或者从长文本中提取关键信息。在PHP中,有多种方法可以实现字符串截取,下面...
正则表达式(Regular Expression)是一种强大的文本处理工具,能够匹配、查找、替换符合特定模式的字符串。Copycat通过用户定义的正则规则,可以灵活地从HTML文档中抓取数据,适用于多种不同的网站结构。 Copycat的...
**:表示任意字符(除了换行符),但至少有一个字符,问号表示非贪婪匹配,即尽可能少地匹配字符。 - **.***:表示任意字符(包括换行符),星号表示可以出现零次或多次。 - **()**:表示组,用于提取匹配的特定部分...
4. **正则表达式**:正则表达式在匹配和提取网页中的特定数据时非常有用,PHP的preg_match_all()函数可以帮助实现这一目标。 5. **Session和Cookie处理**:DZ论坛可能会使用Session和Cookie来管理用户状态,爬虫...
preg_match是PHP中的一个正则表达式匹配函数,常用于验证输入数据或提取信息。 首先,让我们深入理解jQuery中的事件处理。jQuery提供了一套丰富的事件处理方法,如`.on()`, `.click()`, `.hover()`, `.change()`等...
例如,可以通过匹配特定模式的字符串来检测SQL关键字或特殊字符。 4. **错误反馈**:如果验证失败,可以通过jQuery的DOM操作功能显示错误消息给用户,提示他们修正输入。 5. **代码示例**: ```javascript // ...
- 正则表达式(Regular Expression)是在计算机科学中的一个概念,用于匹配字符串中字符组合的模式。在许多文本处理语言中都有实现,如Perl、Python、JavaScript等,是进行字符串搜索和替换的强大工具。 3. **百度...