是否有某种功能可以计算键入特定字符需要多少次击键?
例如,在法语中,字符Ÿ需要键入3次击键。现在我只是针对数组检查每个字符并添加相关值,对于Ÿ它将是3。
PHP中是否有某种方法可以自动执行此操作,还是必须坚持使用数组方法?
答案 0 :(得分:2)
不可能。 PHP是服务器端,不知道用户(客户端)的键盘布局。
德国人(使用键盘布局)可以使用我认为的一个键ü
。但我甚至不知道如何打字。
因此可以安全地说:some char !== specific number of keystrokes
。
答案 1 :(得分:2)
不可能自动执行此操作,因为PHP是服务器端脚本,无法查看用户的键盘布局,也无法检测何时按下某个键。因此,您唯一的解决方案是使用我认为不存在的库。
您需要继续创建自己的击键库(数组)。但是,如果集成了一个临时的javascript脚本,则可以更快地完成这项工作。
列出您想要的所有字符(在纸上或计算机上,无所谓),然后将它们输入到使用javascript获取您的击键的网页中。然后使用javascript将这些添加到一个数组中,您可以将其复制并粘贴到PHP中。
非常简单,可以为您节省大量时间
如果您需要JS的帮助,请告诉我
<强>更新强>
这可以帮助您使用Windows和Mac,每个操作系统和键盘布局都需要一个单独的阵列(使用javascript检测键盘布局)。
http://www.nouilles.info/keyboard_shortcuts.html
更新2
您需要做的是应用条件来确定要使用的数组。
像这样设置数组:
$keystrokes = array(
'mac'=>array( // For mac users
'english-us'=>array(
'character'=>3
)
),
'windows'=>array( // For windows users
'english-uk'=>array(
'character'=>2
)
)
);
然后为未知布局或操作系统设置默认设置。我建议将Windows english-us设置为默认设置,因为这是世界上最常用的设备。
请注意:没有办法让这100%准确,因为有太多不同的操作系统和键盘布局,覆盖所有可能的组合是非常耗时的。您可能想问自己这个功能是否绝对必要,因为它似乎非常不可靠。
答案 2 :(得分:1)
不,完全不可能自动完成。那里没有可以为你做的PHP库。
例如,我现在正在Ubuntu上打字。在Windows上,我会使用Alt + 0233键入具有锐音的e。现在我只是复制并粘贴它。我可以用上下文菜单做到这一点。没有按键。根据您的目的,这可以是:
答案 3 :(得分:0)
在JavaScript的帮助下完成此操作是完全可能的,但需要付出一些努力。但您可能希望在JavaScript中完成所有操作。首先,由detecting the keyboard layouts language开始。然后将检测到的语言与AJAX或类似的(alternatively save to a cookie)一起发送到PHP脚本,该脚本以某种方式保存(会话,数据库等)布局语言。
然后,您可以手动存储数组中每种所需语言所需的击键次数,即:
$keyboard['swedish'] = array(
'a' => 1,
'b' => 1,
'ü' => 2
);
在计算角色所需的击键次数时,你可以这样做:
$keystrokesNeeded = $keyboard[$user['keyboardLayout']]['ü']; //If layout is swedish, it'd return 2
如上所述,需要一些努力 - 但它确实能够。
答案 4 :(得分:-1)
这取决于哪个键盘。有些键盘会有快捷键。你可能必须自己写,这不是一件难事。拿一些常用的键盘搞清楚。