正则匹配<img>
preg_match_all('/<img(.*?)src=\"(.*?)\"(.*?)>/is', $content, $matches);
matches[0] 整个img标签
matches[2] 图片的url
正则回顾:“$”
表示行结尾“^”
表示行开始 或者 表示排除不符合的字符,^一般放在[]中。如[^1-5],该字符不是1~5之间的数字。
“|" 表示或者
"." 表示任意字符
”?“ 表示出现0到一次
”*“ 表示出现0到多次
”+“ 表示出现1到多次
”{n}“ 表示出现n次
”{n,}“ 表示至少出现n次
”{n,m}“ 表示出现n到m次
\d 任意一个十进制数字[0-9]
\D 任意一个非十进制数字
\s 任意一个空白字符(空格、换行符、换页符、回车符、字表符
\S 任意一个非空白字符
\w 任意一个单词字符
\W 任意个非单词字符
修饰符:
i 忽略大小写
s 单行文本模式
m 多文本模式
x 忽略空白字符
以下为复制内容:
括号字符()
在正则表达式中小括号的作用主要有:
- 改变限定符如(|、* 、^)的作用范围
如(my|your)baby,如果没有”()”,|将匹配的是要么是my,要么是yourbaby,有了小括号,匹配的就是mybaby或yourbaby。 - 进行分组,便于反向引用
反向引用
反向引用,就是依靠子表达式的”记忆”功能,匹配连续出现的字串或是字符。如(dqs)(pps)\1\2,表示匹配字符串dqsppsdqspps。在下面php应用中,我将详细展开学习反向引用。
转义字符
转义字符主要是将一些特殊字符转为普通字符。而这些常用特殊字符有”.”,”?”、”\”等。