字符串处理与正则表达式


字符串处理与正则表达式 网址:www.lampbrother.net 电话:400 700 1307 字符串处理与正则表达式 1. 字符串的处理介绍 2. 常用的字符串输出函数 3. 常用的字符串格式化函数 4. 字符串比较函数 5. 正则表达式在字符串中的应用 6. 与Perl兼容的正则表达式函数 一、字符串的处理介绍 ™ 1. 字符串的处理方式 ™ 2. 字符串类型的特点 1.1 字符串的处理方式 在C语言中字符串是作为字节数组处理的。在 Java语言中字符串是作为对象处理的。而php则把 字符串作为基本数据类型来处理。通常对字符串 的处理涉及字符串的格式化。字符串的分割和连 接、字符串的比较、以及字符串的查找、匹配和 替换。 二、常用的字符串输出函数 ™ 常用的输出字符串函数: ¾ echo( ) -- 输出字符串 ¾ print( ) -- 输出一个字符串 ¾ die( ) -- 输出一条消息,并退出当前脚本 ¾ printf( ) -- 输出格式化字符串 ¾ sprintf( )-- 把格式化的字符串写入一个变量中 如:echo ‘aaa’,’bbbb’,’ccc’;//输注多个值 $link=@mysql_connect(“”,””,””)or die(“ 失败”) ™ Printf与sprintf都是格式化字串: ™ 字符串转换格式: ¾ %% 返回百分比符号 ¾ %b 二进制数 ¾ %c 依照ASCII值的字符 ¾ %d 带符号十进制数 ¾ %e 可续计数法(如1.5e3) ¾ %u 无符号十进制数 ¾ %f或%F 浮点数 ¾ %o 八进制数 ¾ %s 字符串 ¾ %x或%X 十六进制数 三、常用的字符串格式化函数 ™ 1. 去除空格和字符串填充补函数 ™ 2. 字符串大小写的转换 ™ 3. 和HTML标签相关联的字符串格式化 ™ 4. 其他字符串格式化函数 3.1 去除空格和字符串填充补函数 ™ 函数:ltrim( ) 语法: string ltrim(string str[, string charlist] ); 返回值: 字符串 本函数用来删去字符串中的前导空格 (whitespace)。 ™ 函数:rtrim( ) (还有个别名:chop()) 语法: string rtrim(string str[, string charlist] ); 返回值: 字符串 本函数用来删去字符串中的后缀空格 (whitespace)。 ™ 函数:trim( ) 截去字符串首尾的空格。 语法: string trim(string str[, string charlist] ); 返回值: 字符串 本函数返回字符串 string 首尾的空白字符去除后的字串。 ™ 函数:str_pad() 按需求对字符串进行填充。 语法:string str_pad ( string input, int pad_length [, string pad_string [, int pad_type]] ) ¾ STR_PAD_LEFT 字符串左添补 ¾ STR_PAD_RIGHT 字符串右添补 ¾ STR_PAD_BOTH 字符串两端添补 3.2 字符串大小写的转换 ™ 函数: strtolower( ) 语法: string strtolower(string str); 本函数将字符串 str 全部变小写字符串。 ™ 函数: strtoupper( ) 语法: string strtoupper(string str); 本函数将字符串 str 全部变大写字符串。 ™ 函数:ucfirst( ) 将字符串第一个字符改大写。 语法: string ucfirst(string str); 本函数返回字符串 str 第一个字的字首字母改成大写。 ™ 函数:ucwords( ) 将字符串每个字第一个字母改大写。 语法: string ucwords(string str); 本函数返回字符串 str 每个字的字首字母全都改成大写。 3.3 和HTML标签相关联的字符串格式化 ™ 函数:nl2br( ) ¾ 语法:string nl2br ( string string ) 将字符串中”\n”转成HTML换行符“
” ™ 函数:htmlspecialchars() ¾ 语法:string htmlspecialchars ( string string [, int quote_style [, string charset]] ) 把指定特殊符号转换成实体,如<> '&' :'&' '“':'"' ''' :''' '< ':'<' '>' :'>' ™ 函数: htmlentities() ™ 语法:string htmlentities ( string string [, int quote_style [, string charset]] ) 可以将所有的非ASCII码转换成对应实体代码。 ™ bold"; // Outputs: A 'quote' is <b>bold</b> echo htmlentities($str); // Outputs: A 'quote' is <b>bold</b> echo htmlentities($str, ENT_QUOTES); ?> ™ 函数:string strip_tags() ™ 语法:string strip_tags ( string str [, string allowable_tags] ) 删除HTML的标签函数 Test paragraph.

Other text’; echo strip_tags($text); //Test paragraph. Other text echo “\n”; // 保留

echo strip_tags($text, '

'); //输出:

Test paragraph.

Other text ?> 3.4 其他字符串格式化函数 ™ 函数: strrev( ) 颠倒字符串。将字符串前后颠倒。 语法: string strrev(string string); ™ 函数: strlen( ) 取得字符串长度。 语法: int strlen(string str); 本函数返回指定的字符串长度。 ™ 函数:number_format() 语法:string number_format ( float number [, int decimals [, string dec_point, string thousands_sep]] ) 格式货币、数字、时间等。 ™ 函数:md5() 加密函数 格式:string md5 (string str [, bool raw_output] ) 四、字符串比较函数 ™ 1. 按字节顺序进行字符串比较 ™ 2. 按自然顺序进行字符串比较 字符串的比较 ™ PHP中,有多种方法可以对字符串进行比较,除了 可以直接使用条件运算符(<, >, ==)加以比较 外。 ™ 按字节进行字符串的比较 ¾ strcmp();(整个比较是否相同) ¾ strncmp();(指定比较长度的字符串比较) ¾ strcasecmp(); (不区分大小写的全串比较) ™ 按自然排序法时行字符串的比较 ¾ strnatcmp(); ™ 字符串的模糊比较 ¾ similar_text(); (返回相似字符串的个数) ™ 字符串的分割与拼装 ™ explode -- 使用一个字符串分割另一个字符串 语法:array explode ( string separator, string string [, int limit] ) 此函数返回由字符串组成的数组,每个元素都是 string 的一个子 串,它们被字符串 separator 作为边界点分割出来。如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元 素将包含 string 的剩余部分。 例如: $pizza = "piece1 piece2 piece3"; $pieces = explode(" ", $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; // piece2 ™ implode() 用一组较小的字符串创建一个大字符串。 格式:string implode ( string glue, array pieces ) 第一个参数glue是放在第二个参数pieces的元素之间 的字符串。可以像下面这样重建简单的逗号分隔的字 符串。 例如: $array = array(‘lastname’, ‘email’, ‘phone’); $comma_separated = implode(“,”, $array); echo $comma_separated; // 显示lastname,email,phone返回 ™ 字符串的截取 ™ 函数:substr( ) 取部份字符串。 语法: string substr(string string, int start, int [length]); 返回值: 字符串 本函数将字符串 string 的第 start 位起的字符串 取出 length 个字符,若省略参数 length,则取到 字符串末尾 。若 start 为负数,则从字符串尾端往 前开始提取。如果length为整数,表示返回length个 字符,若为负数,则表示取到倒数第 length 个字符。 返回 ™ 字符串的查找 ™ 函数: strstr( ) 别名:strchr( ) 返回字符串中某字符串开始处至结束的字符串。 语法: string strstr(string haystack, string needle); 返回值: 字符串 本函数将 needle 最先出现在 haystack 处起至 haystack 结束的字符串返回。若找不到 needle 则返回 false。 ™ 函数: strrchr() 取得某字符最后出现的位置。 语法: string strrchr(string haystack, string needle); 本函数用来寻找字符串 haystack 中的字符 needle 最后 出现位置,并将此位置起至字符串 haystack 结束之间的 字符串返回。若没有找到 needle 则返回 false。 ™ 函数:strpos() 寻找字符串中某字符最先出现的位置。默认从 0 开始。 语法: int strpos(string haystack, string needle, int [offset]); 本函数用来寻找字符串 haystack 中的字符 needle 最先 出现的位置。若找不到指定的字符,则返回 false 值。参 数 offset 可省略,用来表示从 offset 开始找。 ™ 函数:strrpos( ) 寻找字符串中某字符最后出现的位置。 语法: int strrpos(string haystack, char needle); 返回值: 整数 本函数用来寻找字符串 haystack 中的字符 needle 最后 出现的位置。若找不到指定的字符,则返回 false 值。返回 字符串的替换 ™ str_replace() ¾ 字符串替换,三种替换方式 ¾ str_replace(string $search, string $replace, string $str); ¾ str_replace(array $search, string $replace, string $str); ¾ str_replace(array $search, array $replace, string $str); 返回 五、正则表达式在字符串中的应用 ™ 1. 正则表达式介绍 ™ 2. 正则表达式的语法规则 5.1 正则表达式介绍 正则表达式简介: ™ 正则表达式是用于描述字符排列和匹配模式的一种语法规 则。它主要用于字符串的模式分割、匹配、查找及替换操 作。到目前为止,我们前面所用过的精确(文本)匹配也 是一种正则表达式。 ™ 在PHP中,正则表达式一般是由正规字符和一些特殊字符 (类似于通配符)联合构成的一个文本模式的程序性描述。 ™ PHP中,正则表达式有三个作用: ¾ 匹配,也常常用于从字符串中析取信息。 ¾ 用新文本代替匹配文本。 ¾ 将一个字符串拆分为一组更小的信息块。 ™ 一个正则表达式中至少包含一个原子。 ™ 在PHP中有两套正则表达式函数库,两者功能相似,只是执 行效率略有差异: ¾ 一套是由PCRE(Perl Compatible Regular Expression)库提供的。 使用“preg_”为前缀命名的函数; ¾ 一套由POSIX(Portable Operating System Interface of Unix ) 扩展提供的。使用以“ereg_”为前缀命名的函数; ™ 使用正则表达式的原因之一,是在典型的搜索和替换操作 中,只能对确切文字进行匹配,对象动态文本的搜索就有 困难了,甚至是不可能的。 ™ 举例:想一想这两个正则表达式做什么用? ¾ /^-?\d+$|^-?0[xX][\da-fA-F]+$/ ¾ /^[0-9a-zA-Z_-]+@[0-9a-zA-Z_-]+(\.[0-9a-zA-Z_-]+){0,3}$/ 5.2 正则表达式的语法规则 ™ PCRE正则表达式: ™ PCRE全称为Perl Compatible Regular Expression,意思 是Perl兼容正则表达式。 ™ PCRE来源于Perl语言,而Perl是对字符串操作功能最强大 的语言之一,PHP的最初版本就是由Perl开发的产品。 ™ PCRE语法支持更多特性,比POSIX语法更强大,实现相同 的功能函数,使用PCRE库的效率略占优势。但是它们也有 很多相同点。 ™ 在PCRE中,通常将模式表达式(即正则表达式)包含在两 个反斜线“/”之间,如“/apple/”。用户只要把需要匹配的 模式内容放入定界符之间即可。作为定界的字符也不仅仅 局限于“/”。除了字母、数字和斜线“\”以外的任何字符都 可以作为定界符,像“#”、“|”、“!”等都可以的。 原子(Atom) ™ 原子是组成正则表达式的基本单位,在分析正则表 达式时,应作为一个整体。 ™ 原子字符包括所有的英文字母、数字、标点符号 以及其他一些符号。原子也包括以下内容。 ¾ 单个字符、数字,如a-z,A-Z,0-9。 ¾ 模式单元,如(ABC)可以理解为由多个原子组成的大 的原子。 ¾ 原子表,如 [ABC]。 ¾ 重新使用的模式单元,如:\\1 ¾ 普通转义字符,如:\d, \D, \w ¾ 转义元字符,如:\*,\. 普通转义字符 原子 说明 ----------------------------------------------------------------- \d 匹配一个数字;等价于[0-9] \D 匹配除数字以外任何一个字符;等价于[^0-9] \w 匹配一个英文字母、数字或下划线;等价于[0-9a-zA-Z_] \W 匹配除英文字母、数字和下划线以外任何一个字符;等价于[^0-9a-zA-Z_] \s 匹配一个空白字符;等价于[\f\n\r\t\v] \S 匹配除空白字符以外任何一个字符;等价于[^\f\n\r\t\v] \f 匹配一个换页符等价于 \x0c 或 \cL \n 匹配一个换行符;等价于 \x0a 或 \cJ \r 匹配一个回车符等价于\x0d 或 \cM \t 匹配一个制表符;等价于 \x09\或\cl \v 匹配一个垂直制表符;等价于\x0b或\ck \oNN 匹配一个八进制数字 \xNN 匹配一个十六进制数字 \cC 匹配一个控制字符 元字符(Meta-character) ™ 元字符是用于构造规则表达式的具有特殊含义的字符。如果要在正则表达 式中包含元字符本身,必须在其前加上”\”进行转义 元字符 说明 ----------------------------------------------------------------- * 0次、1次或多次匹配其前的原子 + 1次或多次匹配其前的原子 ? 0次或1次匹配其前的原子 | 匹配两个或多个选择 ^ 或 \A 匹配字符串串首的原子 $ 或 \Z 匹配字符串串尾的原子 \b 匹配单词的边界 \B 匹配除单词边界以外的部分 [] 匹配方括号中的任一原子 [^] 匹配除方括号中的原子外的任何字符 {m} 表示其前原子恰好出现m次 {m,n} 表示其前原子至少出现m次,至少出现n次(n>m) {m,} 表示其前原子出现不少于m次 () 整体表示一个原子 . 匹配除换行之外的任何一个字符 字符串边界限制 ™ 在某些情况下,需要对匹配范围进行限定,以获得更 准确的匹配结果。“^”和“$”分别指定字符串的开 始和结束。 ¾ 例如,在字符串“Tom and Jerry chased each other in the house until tom’s uncel come in”中 ¾ 元字符“^”或“\A” 置于字符串的开始确保模式匹 配出现在字符串首端; /^Tom/ ¾ 元字符“$”或“\Z” 置于字符串的结束,确保模式 匹配出现字符串尾端。 /in$/ ¾ 如果不加边界限制元字符,将获得更多的匹配结果。 /^Tom$/精确匹配 /Tom/模糊匹配 单词边界限制 ™ 在使用各种编辑软件的查找功能时,可以通过选择“按单 词查找”获得更准确的结果。正则表达式中也提供类似的 功能。 ¾ 例如:在字符串“This island is a beautiful land”中 ¾ 元字符“\b”对单词的边界进行匹配; /\bis\b/ 匹配单词“is”,不匹配“This”和“island”。 /\bis/ 匹配单词“is”和“island”中的“is”,不匹配 “This” ¾ 元字符“\B”对除单词边界以外的部分进行匹配。 /\Bis\B/ 将明确的指示不与单词的左、右边界匹配,只匹配单 词的内部。所以在这个例子中没有结果。 /\Bis/ 匹配单词“This”中的“is” 重复匹配 ™ 正则表达式中有一些用于重复匹配某些原子的元字符: “?”、“*”、“+”。他们主要的区别是重复匹配的次 数不同。 ¾ 元字符“?”:表示0次或1次匹配紧接在其前的原子。 例如:/colou?r/匹配“colour”或“color”。 ¾ 元字符“*”:表示0次、1次或多次匹配紧接在其前的 原子。 例如:/zo*/可以匹配z、zoo ¾ 元字符“+”:表示1次或多次匹配紧接在其前的原子。 例如:/go+gle/匹配“gogle”、“google”或 “gooogle”等中间含有多个o的字符串。 任何一个字符 ™ 元字符“.”匹配除换行符外任何一个字符。 ¾ 相当于:[^\n](Unix系统)或[^\r\n](windows系统)。 ¾ 例如:/pr.y/可以匹配的字符串“prey”、“pray” 或“pr%y”等。 ™ 通常可以使用“.*”组合来匹配除换行符外的任何字符。 在一些书籍中也称其为“全匹配符” 或 “单含匹配符”。 ¾ 例如: „ /^a.*z$/表示可以匹配字母“a”开头,字母“z” 结束的任意不包括换行符的字符串。 „ /.+/ 也可以完成类似的匹配功能所不同的是其至少 匹配一个字符。 „ /^a.+z$/ 匹配“a%z”不匹配字符串“az”。 重复匹配 ™ 元字符“{ }”准确地指定原子重复的次数,指定所匹配 的原子出现的次数。 ¾ “{m}” 表示其前原子恰好出现m次。 ¾ “{m,n}”表示其前原子至少出现m次,至多出现n次。 ¾ “{m,}” 表示其前原子出现不少于m次。 ™ 例如: ¾ /zo{1,3}m/ 只能匹配字符串“zom”、“zoom”、或“zooom”。 ¾ /zo{3}m/ 只能匹配字符串“zooom”。 ¾ /zo{3,}m/ 可以匹配以 “z” 开头,“m”结束,中间至少为3 个“o”的字符串。 ¾ /bo{0,1}u/ 可以匹配字符串“bought a butter” 中的“bou” 和“bu”,等价于bo?u。 原子表 -方括号表达式 ™ 原子表”[]”中存放一组原子,彼此地位平等,且仅匹配其中的一个原子。如 果想匹配一个 ”a” 或 ”e” 使用 [ae]。 ¾ 例如: Pr[ae]y 匹配 ”Pray” 或者 ”Prey ”。 ™ 原子表 ”[^]” 或者称为排除原子表,匹配除表内原子外的任意一个字符。 ¾ 例如:/p[^u]/匹配“part”中的“pa”,但无法匹配“computer”中的 “pu”因为“u”在匹配中被排除。 ™ 原子表“[-]”用于连接一组按ASCII码顺序排列的原子,简化书写。 ¾ 例如:/x[0123456789]/可以写成x[0-9],用来匹配一个由 “x” 字母与一 个数字组成的字符串。 ™ 例如: ¾ /[a-zA-Z]/匹配所有大小写字母 ¾ /^[a-z][0-9]$/匹配比如“z2”、 “t6” 、“g7” ¾ /0[xX][0-9a-fA-F]/匹配一个简单的十六进制数字,如“0x9”。 ¾ /[^0-9a-zA-Z_]/匹配除英文字母、数字和下划线以外任何一个字符,其等 价于\W。 ¾ /0?[ xX][0-9a-fA-F]+/匹配十六进制数字,可以匹配“0x9B3C”或者 “X800”等。 ¾ /<[A-Za-z][A-Za-z0-9]*>/可以匹配“

”、“”或“”等 HTML标签,并且不严格的控制大小写。 模式选择符 ™ 元字符“|”又称模式选择符。在正则表达式中匹 配两个或更多的选择之一。 ™ 例如: ¾ 在字符串“There are many apples and pears.” 中,/apple|pear/在第一次运行时匹配“apple”;再 次运行时匹配“ pear”。也可以继续增加选项,如: /apple|pear|banana|lemon/ 模式单元 ™ 元字符“()”将其中的正则表达式变为原子(或称 模式单元)使用。与数学表达式中的括号类似, “()”可以做一个单元被单独使用。 ¾ 例如: „ /(Dog)+/匹配的“Dog”、“DogDog”、“DogDogDog”,因为紧 接着“+”前的原子是元字符“()”括起来的字符串“Dog”。 „ /You (very )+ old/匹配“You very old”、“You very very old” „ /Hello (world|earth)/匹配“Hello world”、“Hello earth” ™ 一个模式单元中的表达式将被优先匹配或运算。 重新使用的模式单元 ™ 系统自动将模式单元“()”中的匹配依次存储起来,在需 要时可以用“\1”、“\2”、“\3”的形式进行引用。当正 则表达式包含有相同的模式单元时,这种方法非常便于对其 进行管理。注意使用时需要写成“\\1”、“\\2” 例如: ¾ /^\d{2}([\W])\d{2}\\1\d{4}$/匹配“12-31-2006”、 “09/27/1996”、“86 01 4321”等字符串。但上述正则表达式不匹 配“12/34-5678”的格式。这是因为模式“[\W]”的结果“/”已经被 存储。下个位置“\1”引用时,其匹配模式也是字符“/”。 ™ 当不需要存储匹配结果时使用非存储模式单元“(?:)” ¾ 例如/(?:a|b|c)(D|E|F)\\1g/ 将匹配“aEEg”。在一些正则表达式 中,使用非存储模式单元是必要的。否则,需要改变其后引用的顺序。 上例还可以写成/(a|b|c)(C|E|F)\\2g/。 模式修正符(Pattern Modifiers) ™ 在PCRE表达式中的最后一个分隔符/后,可以添加模式修正符,扩展 了正则表达式在字符匹配、替换操作时的某些功能,修正增强了正则 表达式的处理能力。模式修正符一般标记于整个模式之外,并且可以 组合使用,如“/apple/i”、“/cat|dog/uis”等。 模式修正符 说明 i 可同时匹配大小写字母 m 将字符串视为多行 s 将字符串视为单行,换行符做普通字符看 待,使“.”匹配任何字符 x 模式中的空白忽略不计 S 当一个模式将被使用若干次时,先对其进行 分析 U 匹配到最近的字符串 e 将替换的字符串作为表达使用 ™ 下面是几个简单的示例,可以说明模式修正符的使用 ¾ /apple/i 匹配“apple”或“Apple”等,忽略大小写。 ¾ /I love you/ix匹配“iloveYou”,忽略大小写以及空 白。 ¾ /<.*>/ U将依次匹配字符串“Cool music


Few years ago….. ”中的“”、“”和 “
”。而/<.*>/却匹配到最后一个可用的字符 串,既“Coolmusic
” 。 ¾ //Uis将HTML文件视为单行字符串,忽略大小写 和换行符。匹配其中的所有以“h”开头的标签,如 “”、“
”等。 模式匹配的顺序 ™ 在使用正则表达式时,需要注意匹配的顺序。通 常,正则表达式按照由左至右的顺序依次匹配。 ™ 模式匹配的顺序(从高到低) 顺序 元字符 说明 1()模式单元 2 ?* +{} 重复匹配 3^$边界限制 4 | 模式选择 ™ 正则表达式的语法规则: ™ 正则表达式主要组成: ¾ 原子(普通字符,如英文字符) ¾ 元字符(有特殊功用的字符) ¾ 模式修正字符(对正则表达式语义的修正) ™ 一个正则表达式中至少包含一个原子。 六、与Perl兼容的正则表达式函数 ™ 1. 字符串的匹配与查找 ™ 2. 字符串的替换 ™ 3. 字符串的分割和连接 Perl兼容的正则表达式函数 ™ preg_match()进行正则表达式匹配 ™ preg_match_all()进行全局正则表达式匹配 ™ preg_grep()返回与模式匹配的数组单元 ™ preg_quote()转义正则表达式字符 preg_split() 用正则表达式分割字符串 ™ preg_replace()执行正则表达式的搜索和替换 正则表达式的匹配 ™ preg_match() 函数 ¾ 函数语法: „ int preg_match(string $pattern, string $content [,array $matches]) ¾ preg_match()函数在$content字符串中搜索与 $pattern给出的正则表达式相匹配的内容。如果 提供了$matches,则将匹配结果放入其中。 $matches[0]将包含与整个匹配的文本, $matches[1]将包含第一个捕获的与括号中的模 式单元所匹配的内容,以此类推。该函数只作一 次匹配,最终返回0或1的判断是否匹配。 ™ 进行全局正则表达式匹配 ™ preg_match_all() 与preg_match()函数类似。如果使用了第 三个参数,将把所有可能的匹配结果放入。 本函数返回整个模式匹配的次数(可能为 0),如果出错返回False。 $max_size){ $link_text = substr($link_url, 0, $max_size)."..."; }else{ $link_text = $link_url; } //生成HTML文字 $text = str_replace($link_url,"$link_text",$text); } return $text; } //运行实例 $str = “这是一个包含多个URL链接地址的多行文字。欢 迎访问http://www.taoboor.com”; print url2html($str); /*输出结果 这是一个包含多个URL链接地址的多行文字。欢迎访 问 http://www.taoboor.com */ ?> preg_grep() ™ 函数语法: ¾ array preg_grep(string $pattern,array $input) ™ preg_grep()函数返回一个数组,其中包括了 $input数组中与$pattern正则表达式相匹配的单 元(注:$input不能为null)。 ™ 对于输入数组$input中的每个元素,preg_grep() 也只进行一次匹配。 preg_quote ™ 函数语法: ¾ string perg_quote(string str[,string delimiter]) ™ preg_quote转义正则表达式字符 ™ 正则表达式的特殊字符包括:. \\ + * ? [ ^ ] $ ( ) { } = ! < > | : 正则表达式的拆分 ™ preg_split() ™ 函数语法: ¾ array preg_split (string $pattern,string $string[,int $limit[,int flags]]) ™ 本函数返回一个字符串数组,每个单元为$string经正则 表达式$pattern作为边界分割出的子串。如果设定了 $limit,则返回的数组最多包含$limit个单元。而其中最 后一个单元包含了$string中剩余的所有部分。 ™ flags可选参数: ¾ PREG_SPLIT_NO_EMPTY:只返回非空的成分 ¾ PREG_SPLIT_DELIM_CAPTURE :定界符模式中的括号表达式也会被 捕获并返回 ¾ PREG_SPLIT_OFFSET_CAPTURE :对每个出现的匹配结果也同时返 回其附属的字符串偏移量 preg_split() ™ 将字符串分割成字符 ™ 将字符串分割为匹配项及其偏移量 ¾ 正则表达式的替换 ™ preg_replace() ™ 函数原形: ¾ mixed preg_replace(mixed $patten,mixed $replacement,mixed $subject[,int $limit]) ™ preg_replace其前三个参数均可以使用数 组;第四个参数$limit可以设置替换的次 数,默认为全部替换。 \nEmail: {Email}
\nAddress: {Address}
\n"; //模式 $patterns =array( "/{Address}/", "/{Name}/", "/{Email}/" ); //替换字串 $replacements = array ( "No.5, Wilson St., New York, U.S.A", "Thomas Ching", "tom@emailaddress.com", ); //输出模式替换结果 print preg_replace($patterns, $replacements, $string); ?> 正则表达式的Wed验证应用 ™ 电子邮件地址的校验 ™ URL地址的校验 ™ 电话号码和邮政编码的校验 电子邮件地址的校验 URL地址的校验 电话号码 邮政编码的校验 练习 ™ 验证正货币金额。要求小数点后有两位数 字 ™ 验证时间2009-01-05 13:04:06 ™ IP地址校验 ™ 获取某网站所有超级链接 ™ 获取某天气预报网站的气象信息 谢谢!
还剩63页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

belm

贡献于2012-01-03

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf