【问题标题】:Split ID adding hyphen in different positions [duplicate]拆分ID在不同位置添加连字符[重复]
【发布时间】:2019-08-16 02:08:56
【问题描述】:

我需要添加 - 在 ID 的特定位置,我试过但只适用于数字,不适用于数字和字母。

我有这个:93e6276537d438fbb4fdb55415afe13d,我需要类似的东西:

93e6276-537d-438f-bb4f-db55415afe13d

在第 8 位和第 12 位、第 16 位和第 20 位之后添加 -。

非常感谢

【问题讨论】:

  • 注意:根据您计划如何使用 UUID,您可以使用 $bin = pack("h*", $guid); 直接将当前字符串解析为二进制形式
  • @TimBiegeleisen 你的骗子给出了我的答案的 java 等价物,有没有在 PHP 中做到这一点?
  • @Nick 很可能 OP 甚至不想这样做。最好将 UUID 作为字节数组存储在数据库中,而不是作为带有连字符的字符串。
  • 嗨有这个:` `,我需要将值传递给新变量,知道吗?

标签: php function


【解决方案1】:

您可以使用preg_replace根据段的长度拆分字符串:

echo preg_replace('/^(.{8})(.{4})(.{4})(.{4})(.*)$/', '$1-$2-$3-$4-$5', '93e6276537d438fbb4fdb55415afe13d');

输出:

93e62765-37d4-38fb-b4fd-b55415afe13d

Demo on 3v4l.org

【讨论】:

  • 嗨有这个:` `,我需要将值传递给新变量,知道吗?
  • 类似$new_ids = convertids($ids); echo $new_ids?
  • 再次感谢尼克
猜你喜欢
  • 2012-12-14
  • 1970-01-01
  • 2014-09-15
  • 2018-12-07
  • 2017-07-22
  • 2014-10-27
  • 1970-01-01
  • 1970-01-01
  • 2020-08-03
相关资源
最近更新 更多