如何将文本转换为希腊字母

How to convert text into greek letters

谁能告诉我如何将输入文本转换为希腊字母?

解释: 我想将我在输入框中键入的文本转换为希腊字母。请帮帮我。

<input type="text" id="my_text">
<p id="output"></>
<button onclick="greek()">Now</button>
<script type="text/javascript">
function greek() {
    var text = document.getElementById("my_text").value;
    ?
    ?
    ?
}

这里不知道怎么办??

你可以做类似的事情..:[=​​11=]

function greek(letter){
  switch(letter){
    case 'q':
     return ";"
    break;
    case 'w':
     return "ς"
    break;
    case 'e':
     return "ς"
    break;
    case 'r':
     return "ε"
    break;
    case 't':
     return "ρ"
    break;
    case 'y':
     return "τ"
    break;
     ....
}

您将需要遍历字母并使用 case 语句或其他类似操作隐藏它们。

示例:

function greek(){
  var text= document.getElementById("my_text").value;
  var output = '';
  for (var i = 0; i < text.length; i++) {
    switch(text[i]){
      case ' ':
        output += ' ';
        break;
      case 'a':
        output += 'α';
        break;
      case 'b':
        output += 'ß';
      // ... And so forth
      default:
        console.log("Unrecognized character");
        break;
    }
  }
  document.getElementById("output").innerHTML = output;
}

编辑为输出到 <p>

首先,您需要定义如何将拉丁语输入文本音译为希腊字母表。见 e。 G。 https://en.wikipedia.org/wiki/Romanization_of_Greek 可能的音译 tables.

然后您将根据所选 table:

创建一个 JavaScript 地图
let transliteration = {"a": "α", "b": "β", ... }

要执行实际的音译,您需要编写一个函数

function transliterate(string) {
  var result = "";
  for (chr of string) {
    result += (transliteration[chr] || "_");
  }
  return result;
}

对于非 transliteratable 个字符,将返回占位符“_”。

如果您选择了包含双字母 ("ai") 或三字母 ("nch") 的音译方案,您可以使用正则表达式:

let transliteration = {"a": "α", "ai": "αι", "av": "αυ", "v": "β", "g": "γ", ...};
let result = string.replace(/ai|av|ng|a|v|g|.../g, chr => transliteration[chr]);