欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请教一个正则表达式的意思,急用

程序员文章站 2022-04-30 17:10:12
...
ob_start();
ob_end_clean();
$output = preg_match_all('//i', $post->post_content, $matches);
$first_img = $matches [1] [0];

上面几句话的意思, ob_start(); 和 ob_end_clean(); 是将文章的内容读入缓冲区
$output = preg_match_all('//i', $post->post_content, $matches);
这句话的意思是匹配出文章中所含的图片
$first_img = $matches [1] [0];
这句话是把第一幅图片读取并保存在 $first_img中

我想知道的是,这个正则表达式preg_match_all('//i', $post->post_content, $matches);
的具体规则,是怎么匹配的,$post->post_content,是内容,$matches是图片数组,前面的('//i',
是具体代表怎么匹配?


回复讨论(解决方案)

对于正则规则串:'//i'
[\'"]([^\'"]+)[\'"] 表示以 单(双)引号 开始,以 单(双)引号 结束的内容, ([^\'"]+) 表示待提取的 单(双)引号 中的内容

感谢版主:
我现在遇到的一个问题我百思不得其解,就是我作为附件上传了一个word文档,这个文档里并没有图片,可是也匹配出一个失真的马赛克图形来,我不知道这个是怎么匹配出来的
这个src属性,是否可以认为在哪里可以找到生成的图形文件?

word文档 不是文本文件,能匹配出东西纯属偶然

感谢版主:
我是否可以这么认为,就是这个文档里面如果含有图片,就会生成img标签,src就是这个标签的位置,然后把这个截取出来,放到
$matches中,'//i'最后那个/i是啥意思?

word文档 不是文本文件,能匹配出东西纯属偶然

i 是不区分大小写