php图片的正则表达式详解

    |     2016年5月7日   |   学习偶记   |     评论已关闭   |    2471

正则表达式学的很差,所以大部分都从网上搜集现成的例子来用。这次搜到一个提取一段字符里的图片的表达式,经测试后发现一些小问题。在改良的过程中,学到了不少正则表达式的用法,特此记录下来。

原代码:

上面的代码运行结果如下:

下面详解一下这段正则表达式:

/<\s*img\s+[^>]*?src\s*=\s*(\’|\”)(.*?)\\1[^>]*?\/?\s*>/i 开头的/和末尾的/i的功能就不说了,大家都知道。

< 以<开头
\s* 有0个或者多个空白字符
img 包含文字img
\s+ 有1个或者多个空白字符
[^>]*? 有0个或者多个不包含>的任意字符(注1)这段是删除可能的class….
src 包含文字src
\s* 有0个或者多个空白字符
= 包含文字=
\s* 0个或者多个空白字符
(\’|\”) ‘ 或者 “
(.*?) 1个或者多个任意字符
\\1 复制第一个括号里的条件(注2)
[^>]*? 不包含>的任意字符
\/? 有0个或者多个/
\s* 有0个或者多个空白字符
> 包含文字>

噢!评论已关闭。