【发布时间】:2017-12-11 10:42:25
【问题描述】:
我想知道是否有办法检查两个字符串是否相似。我的字符串在字节长度和 urlencode 上有相同但不同。
$unit1 = '㎏';
$unit2 = 'kg';
strlen($unit1); // 3
strlen($unit2); // 2
urlencode($unit1); // %E3%8E%8F
urlencode($unit2); // kg
【问题讨论】:
-
$unit1 有什么特殊字符吗?
-
@PrateikDarji 。我认为不,$unit1 是从日语输入键盘输入的,它是半角的。
-
这些字符串仅在您选择的字体中看起来相同(公平地说,大多数字体)。它们实际上非常不同,如 url 编码所示。如果你知道你会遇到什么不寻常的字符,你可以逐个翻译它们,但除此之外你运气不好。 stackoverflow.com/questions/39948627/… 该问题探讨了 javascript 中的类似问题。
-
@SimonBrahan 好吧,似乎没有办法检测到,所以我认为我需要逐个翻译它们。无论如何谢谢你
-
您可以尝试为每个符号定义一个映射。但是话又说回来,它肯定会在不同的(和/或特定的)字体上失败。如果我站在你的立场上 - 在这种情况下,我肯定会从正确定义相似性开始并缩小我的界限,以便任务得到很好的约束,因此有可能得到解决。
标签: php