正则表达式语法 – Perl风格
1 修饰符
一般有 i 和 g,表示忽略大小写和全局搜索
2 元字符
\A 只匹配字符串开头
\b 匹配单纯边界
\B 匹配出单词边界之外的任意字符
\d 匹配数字
\D 匹配除数字之外的任意字符
\s 匹配空白
\S 匹配除空白之外的任意字符
[]
()
$ 匹配行尾
^ 匹配行首
. 匹配除换行之外的任意字符
\w 匹配单词(可含下划线)
\W
3 量词
一次或多次
任意次
? 最多一次
{} 限定匹配次数
{2,3} 匹配2-3次
{2,} 至少匹配2次
4 PHP的Perl兼容正则表达式函数
PHP的Perl兼容正则表达式搜索和修改字符串提供了8个函数。
-搜索数组
preg_grep()函数搜索数组中的所有元素,返回由与某个模式匹配的所有元素组成的数组。返回的数组的索引还是原来数组的索引。
-搜索模式
preg_match()函数根据搜索模式搜索字符串,如果存在返回TRUE否则返回FALSE。
可选参数matches可以包含搜索模式中包含的子模式的各个部分
-匹配所有出现的模式
preg_match_all()函数可以在matches中包含模式的全匹配,通常是指matches[0]。
-替换匹配的所有字符串
preg_replace()返回修改的结果。PHP5.3新增的pre_filter()函数等同于pre_replace(),只不过它只返回匹配项
-创建定制的替换函数
preg_replace_callback()
正则表达式函数的替代函数
explode() 将字符串分成子串数组
implode() 将数组用给定字符分割组合成字符串
strpos() 返回子串第一次出现的位置
strrpos() 返回子串最后一次出现的位置
str_replace() 子串替换
strstr() 返回从子串开始和剩余部分
substr() 返回给定范围的部分的子串
substr_count() 统计子串出现的次数
substr_replace() 子串替换(给定访问内替换)
ltrim() 从字符串开始处裁剪给定字符
rtrim() 从字符串最后开始裁剪给定字符
trim() 从字符串两边裁剪给定字符
str_pad() 用指定个数的字符填充字符串
count_chars() 统计字符串中字符数的信息
str_word_count() 统计单词总数
其它字符串函数
strlen() 确定字符串的长度
strcmp() 区分大小写比较两个字符串,对应strcasecmp()
strtolower() 转换成小写
strtoupper() 转换成大写
ucfirst() 如字符串第一个字符是字母则转为大写
ucwords() 将字符串中每个单词的首字母变为大写
nl2br() 将\n转换为
htmlentities() 将特殊字符转换为HTML实体(默认是会转换双引号,忽略单引号)
htmlspecialchars() 将& 变成 & 双引号变成” 单引号变成’小于大于号对应< 和 >
strtr() 将字符串中的所有字符转换为某个预定义的数组中的相应值。
strip_tags() 将HTML转换为文本。