【问题标题】:Huge spaces instead of regular spaces are pasted粘贴巨大的空格而不是常规空格
【发布时间】:2016-11-29 03:14:59
【问题描述】:

从 Excel 行的副本中给出一个字符串。

我需要用户能够将一行从 Excel 复制/粘贴到表单中。然后将给定的字符串传递到 PHP 中的 explode() 中,以便我可以访问不同的单元格值。

问题是:当我将给定的行粘贴到输入字段中时,值由“巨大”空格分隔(因此 PHP 不能被常规空格分解)。这很奇怪:当我将该行粘贴到这个实际的 Stackoverflow 文本区域或我的 URL 栏中时,会粘贴常规空格。

由于我粘贴时 Stackoverflow 文本区域会显示常规空格,请参阅下面的截屏链接,以显示我的问题。

视频:http://recordit.co/NdrNSPeo4I *.gif : http://g.recordit.co/NdrNSPeo4I.gif

【问题讨论】:

  • 通常在从 Excel 复制时,“文本”表示在任何给定行中的单元格值之间都有制表符,而不是空格。您应该在 Tab 上拆分,而不是空格。
  • 无需对用户做出居高临下的评论,因为他们将制表符误认为是“巨大”的空格
  • 你无关紧要@actimel,有各种类型的空白字符。 U+0009 是制表符。假设 U+000A、U+000B U+000C U+000D U+0020 U+0085 U+00A0 U+3000 等等(维基百科)。

标签: html string excel fonts php-5.6


【解决方案1】:

通过$values[i] 访问数据,此模式将起作用:

$stringprocessed = preg_replace('/\s+/', ' ',$string);
$values = explode(" ", $stringprocessed);

【讨论】:

    猜你喜欢
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多