使用php解析zxing qrcode解码响应

时间:2011-08-12 22:51:49

标签: java php regex preg-replace zxing

我正在使用控制台java工具Zxing来解码图像中的qr代码。我从php调用它并且它工作正常但现在我不得不解析它给出的响应:

file:/home/users/public_html/playground/qrcode/images/new.png (format: QR_CODE, type: TEXT):
Raw result:
{"uniqueid":44819,date:131232211}
Parsed result:
{"uniqueid":44819,date:131232211}
Found 4 result points.
  Point 0: (22.5,88.5)
  Point 1: (22.5,22.5)
  Point 2: (88.5,22.5)
  Point 3: (79.5,79.5)

我需要的是获得{“uniqueid”:44819,日期:131232211}部分。我试过像:

$response=explode(" ",$response);
$response=preg_replace(array("/Parsed/","/result:/"),array("",""),explode(" ",$response[5]));
$response=$a[0];

还尝试substringstrpos。但它仅适用于非间隔字符串。所以我想要一个通用的解决方案。

另外我真的不知道是否有办法以另一种更可靠的格式制作zxing返回响应,所以我可以简单地避免这些php操作。

一些很酷的正则表达式可以解决这个问题吗?也许。但我对此并不擅长。

想法?

1 个答案:

答案 0 :(得分:0)

您正在尝试解析命令行程序的输出,这不是一个API。输出很可能是你所说的格式,但为什么解析起来很难?它是开源的,所以你可以修改程序来打印你喜欢的任何东西。为什么还要解析你不喜欢的输出,只需修改输出?