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

时间:2016-06-24 16:01:47

标签: javascript string-conversion transliteration

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

说明: 我想将输入框中输入的文本转换为希腊字母。请帮帮我。

<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;
    ?
    ?
    ?
}

这里我不知道该怎么办?

3 个答案:

答案 0 :(得分:2)

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

然后,您将从所选表格中创建一个JavaScript地图:

let transliteration = {"a": "α", "b": "β", ... }

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

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

对于非易译字符,占位符&#34; _&#34;将被退回。

如果您选择包含双字母组合(&#34; ai&#34;)或三元组(&#34; nch&#34;)的音译方案,您可以使用正则表达式:

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

答案 1 :(得分:0)

你可以这样做......:

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;
     ....
}

答案 2 :(得分:0)

您需要遍历这些字母并使用案例陈述或其他类似操作将其转换。

示例:

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>