我正在尝试使用summer note js编辑器获取插入图像字符串的base64代码。
我设法得到这个
preg_replace('#<img\ssrc="data:image/([\w]+);base64,([a-zA-Z0-9+/-_=]+)"\sstyle="width:\s[0-9]+px;">#',"IMAGE REMOVED FROM CHROME\r\n", $content,-1, $counter);
以及取决于<img src="data:img/jpg;base65string style="width" data-filename>
的一些变化。style
和data-filename
和src
的位置总是根据不同的浏览器而变化,所以我有一些变化。
1.有更简单的方法来做到这一点吗?
就像如果我有img src
,style
和data-filename
的所有组件,我将只匹配字符串?我可以创建所有的变量,但是如果我为10个不同的变量执行10次$content = preg_replace
,仅仅找到一个匹配不是非常慢吗?如果我的$string
非常长,它会变得越来越慢。
1.我需要提取base64字符串以将其保存为图像,如何使用上面的正则表达式来帮助我fopen
,fwrite
,fclose
?
1条答案
按热度按时间wlsrxk511#
你可以使用类似这样的东西:
你可以看看这个working example。
这样,它涵盖了
src
和/或style
属性的缺失。最终取决于您是否将其细化为:
style
可能包含其他属性)一些附加要点:
\s+
替换了\s
,在相反的style
内部用\s*
替换了style
[a-zA-Z0-9+/-_=]+
和[0-9]+
表达式简化为[\w+/-_=]+
和[\d]+