【发布时间】:2010-11-25 22:50:24
【问题描述】:
我正在尝试对下面的响应进行“预匹配全部”以获取所有二进制数据。我已经尝试了几乎所有可以想象到的东西,但在我的一生中,什么都得不到。
我希望它会像这样简单:
preg_match_all("#\n\n(.*)\n--$boundary#",$body,$matches);
但我什么也得不到。我也尝试过其他的东西。 \r \n | i s m U - 由于某种原因我无法得到它。
这是一个不包括标题的伪响应:
--boundary
content-type:image/jpeg
<binary data>
--boundary
content-type:image/jpeg
<binary data>
--boundary
content-type:image/jpeg
<binary data>
--boundary
不幸的是,二进制数据没有用 括起来,它只是在多行过程中带有特殊字符的原始数据......
另外:我认为问题在于正在显示的实际二进制数据,因为当我在上面的信息上运行 preg match all 时,它工作得很好,但是当我在包含所有二进制数据的实际数据上尝试它时废话,它不起作用。
【问题讨论】:
-
您也可以在这里发布您的示例而不是网址。当此链接的内容已被长期更改时,其他人可能会在将来偶然发现您的问题。
-
我在您提供的数据上尝试了正则表达式并且它有效。尝试回显变量 $boundary 以检查您的期望。
-
我的脚本中没有这样的错误。