你不用 PHP 来做这件事,你会用 Javascript 来做:
var el = document.getElementById("filename");
el.addEventListener('keyup', function(){
var replace = ['ä','å'];
var replacewith = 'a';
var replace1 = ['ö'];
var replacewith1 = 'o';
replace.forEach(function(letter){
el.value = el.value.replace(letter, replacewith);
});
replace1.forEach(function(letter){
el.value = el.value.replace(letter, replacewith1);
});
});
将id="filename" 添加到输入元素以使其工作。您可以根据需要向替换数组中添加任意数量的字母。
您还可以添加更多数组来替换字母。
https://jsfiddle.net/dek5as1x/1
编辑:几个字母的解决方案
var el = document.getElementById("filename");
el.addEventListener('keyup', function(){
var replaces = [['ä','å'],['ö','ø'],['ï','ì'],['ü','ù','û'],['ë','ê']];
var replacewith = ['a','o','i','u','e'];
replaces.forEach(function(letterGroup, index){
letterGroup.forEach(function(letter){
el.value = el.value.replace(letter, replacewith[index]);
});
});
});
在这里添加一个新数组 ([]) 来替换。然后将所有字母添加到该数组中,这些字母应转换为该数组中的相同字母。示例:['ê','ë','è']。然后将字母添加到 replacewith 数组中。重要的是字母来替换数组中的字母与替换中的相应数组具有相同的索引。
当您要替换大量字母时,此解决方案应该更简洁一些。