当前
我重做了这个音节计数器脚本的工作:
当前代码的示例函数
输入(第一区)
i would appreciate
any help
at all结果(第二部分)
11当前代码
下面是作为JSFiddle的现有代码。
目标
我希望这个剧本:
.split('\n'); )来计算文本区域1的音节。所需代码的示例函数
输入(第一区)
i would appreciate
any help
at all结果(第二部分)
6
3
2问题
对于如何做到这一点,我非常困惑,我非常感谢任何帮助或JSFiddle来展示如何使用现有的代码来实现这一点。
备注
对于任何可能对音节计数函数代码感兴趣的人来说:它不是100%的精确性,在某些单词上失败了,但是给出了一个很好的总体想法。
发布于 2014-04-19 14:23:28
试试这个,如果你想要的话,告诉我。
注意事项:
我创建了一个数组,该数组将线向上存储为var arrayOfLines = $("[name=set_" + $input + "]").val().match(/[^\r\n]+/g);。
然后循环遍历该数组,并执行之前所做的操作,但在每个数组条目上执行。然后将结果存储在tempArr中,并显示tempArr结果。
请参阅小提琴
function $count_how_many_syllables($input) {
    $("[name=set_" + $input + "]").keyup(function () {
    var arrayOfLines = $("[name=set_" + $input + "]").val().match(/[^\r\n]+/g);
    var tempArr = [];
    var $content;
    var word;
    var $syllable_count;
    var $result;
    for(var i = 0; i < arrayOfLines.length; i++){
        $content = arrayOfLines[i];
        word = $content;
        word = word.toLowerCase();
        if (word.length <= 3) {
            word = 1;
        }
        if (word.length === 0) {
           return 0;
        }
        word = word.replace(/(?:[^laeiouy]es|ed|[^laeiouy]e)$/, '')
            .replace(/^y/, '')
            .match(/[aeiouy]{1,2}/g).length;
        $syllable_count = word;
        $result = $syllable_count;
        tempArr.push($result);
    }
    $("[name=set_" + $input + "_syllable_count]").val(tempArr);
    });
}
(function($) {
    $count_how_many_syllables("a");
})(jQuery);https://stackoverflow.com/questions/23170491
复制相似问题