我正在尝试使用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);
以及一些变化取决于
样式和数据文件名和src的位置总是根据不同的浏览器而变化,所以我有一些变化。
1)有更简单的方法吗?
如果我拥有 img src,style和data-filename 的所有组件,我会匹配字符串吗?我可以创建所有的变化,但如果我要为10个不同的变化做$ content = preg_replace 10次,那么找到一个匹配是不是非常慢?如果我的$ string非常长,它会变得越来越慢。
2)我需要拔出base64字符串以将其保存为图像,如何使用上面的正则表达式来帮助我fopen,fwrite,fclose?
先谢谢。
答案 0 :(得分:0)
您可以使用以下内容:
<img(\s+src="data:image/([\w]+);base64,([\w+/-_=]+)")?(\s+style="width:\s*([\d]+)px;")?\s*>
您可以查看此working example。
这样,它涵盖了src
和/或style
属性的缺失
你最终要将它改进为:
style
可能包含其他属性)其他一些要点:
\s
替换了\s+
,在\s*
style
替换了[a-zA-Z0-9+/-_=]+
[0-9]+
和[\w+/-_=]+
个表达式,这些表达式变为[\d]+
和100000