【问题标题】:php barcode scan manipulate data web formphp条码扫描操作数据web表单
【发布时间】:2020-06-10 17:58:58
【问题描述】:

感谢您帮助我朝着正确的方向前进。我有一个自 2014 年以来一直在运行的 php 表单,将数据输入到 mysql 数据库中。现在我想将条形码扫描到一个字段中,但我只需要此条形码扫描中的某些数据。当我扫描它时,我得到一长串数据。

我扫描条形码时得到的数据示例

<Bearing>
   <COMPANYcODE>c480</COMPANYcODE>
   <IDnUMBER>l412040193</idNumber>
   <C203>PRBK</C203>
   <C204>2020-05-20T15:33:51</C204>
   <C205>428946</C205>
   <C206>13</C206>
   <C207>11</C207>
   <C208>6.5</C208>
   <C209>9.0</C209>
   <C210>27</C210>
   <C21l>R</C2ll>
   <C213>8AMS00OS</C213>
   <C214>SOEX0003</C214>
   <C215>AARX0002</C215>
   <C216>AARX0001</C216>
   <C217>AARX0001</C217>
</Bearing>

在我的输入字段中,我只希望 C205 c206 和 c207 之间的数字在一行中没有空格。

我不知道该怎么做。基本上,当我扫描条形码时,我希望这个输入字段仅使用上面的示例显示 4289461311。任何帮助将不胜感激。谢谢
如果需要,我可以发送我的代码示例。但它只是一个简单的输入表单。此外,如果将数据添加到 mysql 数据库后更容易更改数据,我们将不胜感激。谢谢

【问题讨论】:

  • 我只需要数据 4289461311 基本上需要去掉除数字之外的所有内容。所以我在上面的输入应该是 4289461311

标签: php mysql parsing barcode


【解决方案1】:

这是一种方法:

$data = "<Bearing><COMPANYcODE>c480</COMPANYcODE><IDnUMBER>l412040193</idNumber><C203>PRBK</C203><C204>2020-05-20T15:33:51</C204><C205>428946</C205><C206>13</C206><C207>11</C207><C208>6.5</C208><C209>9.0</C209><C210>27</C210><C21l>R</C2ll><C213>8AMS00OS</C213><C214>SOEX0003</C214><C215>AARX0002</C215><C216>AARX0001</C216><C217>AARX0001</C217></Bearing>";

if(!preg_match_all('/<(C205|C206|C207)>(.+?)<\/\1>/', $data, $out)) {
    echo "No Data Found";
} else {
    $myvalues = join('', $out[2]);
    echo $myvalues;
}

// output:
// 4289461311

【讨论】:

  • 请注意:这仅在输入始终以完全相同的方式格式化时才有效。如果元素名称或值周围可能出现空格之类的东西,或者元素名称可能会改变大小写,或者其他任何东西都可能以任何方式改变格式,那么您应该考虑使用可以解析损坏的 XML 的 XML 解析器。
  • 我会试一试感谢您抽出宝贵时间回复和帮助。
猜你喜欢
  • 1970-01-01
  • 2020-05-21
  • 2011-11-12
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多