正则表达式解析图像

时间:2011-02-11 09:52:58

标签: regex

如果表格中有字符串:

  

数据:图像/ X-图标; BASE64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8 / 9hAAAABmJLR0QAAAAAAAD5Q7t / AAAA2UlEQVQ4y8WSvQvCMBDFX2rFUvuFSAUFBQfBwUXQVfFfFpzdRV2c7O5UKmihX9E6RZo2pXbyTbmX3C + 5uwD / FskG + 76WsvX65n / 3Lm0pdU214HOAbHIWwvzeYPL1p4cT4QCi5DIxEINIdWt + Hs9cXAtg3UOkIJAUpT5ADiho8kbD0NG0LB6Q76xIevwCpW + 0bBvj7Y5wgCpI148RBxTmYo7Z1RGPkSk / kc4jgme0oHoJlmFUOC + 8lUEMN0ASvyBpGha ++ IXCJrJyKJGhjIalyZVyNqufP9j / 9AH0S0vqrU + YMgAAAABJRU5ErkJggg ==

我可以用来解析数组中这些元素的最佳正则表达式是什么? (所以我可以写出正确的图像)

更新:我理解base64编码但问题实际上是如何在网页中解析这些嵌入式图标。因为我不知道人们是否正在使用例如base62 ...或其他图像字符串甚至其他格式来嵌入图像。等...我也在页面中看到标识符是image / x-icon的例子,但是他的字符串实际上包含一个png。

更新只是为了分享我使用此代码的代码:http://plugins.svn.wordpress.org/wp-favicons/trunk/filters/search/filter_extract_from_page.php

虽然我仍然有一些问题,例如如果只使用base64等......但时间会在实践中说明。

1 个答案:

答案 0 :(得分:8)

你能在开头看到base64吗?你不需要正则表达式。您需要将此base64字符串解码为字节流,然后将其另存为图像。

我现在已将以下文本保存到文件icon.txt

iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAAAAAAAD5Q7t
/AAAA2UlEQVQ4y8WSvQvCMBDFX2rFUvuFSAUFBQfBwUXQVfFfFpzdRV2c7O5UKmihX9E6RZo2pXbyTbmX3C+5uwD
/FskG+76WsvX65n
/3Lm0pdU214HOAbHIWwvzeYPL1p4cT4QCi5DIxEINIdWt+Hs9cXAtg3UOkIJAUpT5ADiho8kbD0NG0LB6Q76xIevwCpW+0bBvj7Y5wgCpI148RBxTmYo7Z1RGPkSk
/kc4jgme0oHoJlmFUOC+8lUEMN0ASvyBpGha++IXCJrJyKJGhjIalyZVyNqufP9j
/9AH0S0vqrU+YMgAAAABJRU5ErkJggg==

并处理完毕:

base64 -d icon.txt > icon.png

它显示一个红色的心形图标,16x16像素。

这是您可以在命令行中解码它的方法。大多数编程语言提供了很好的库,可以直接在程序中解码它。

编辑:如果您使用PHP,请查看base64_decode()