0
function changeText(getString){
    var smiles_from_to = new Array();
    smiles_from_to[":)"] = "ab"; smiles_from_to[":-)"] = "ab";
    smiles_from_to[":("] = "ac"; smiles_from_to[":-("] = "ac";
    smiles_from_to["B)"] = "af"; smiles_from_to["B-)"] = "af";
    smiles_from_to[";("] = "crygirl2"; smiles_from_to[";-("] = "crygirl2";
    smiles_from_to[":-*"] = "aw"; smiles_from_to[":*"] = "aw";
    smiles_from_to[":D"] = "ag"; smiles_from_to[":-D"] = "ag";
    smiles_from_to["(devil)"] = "aq"; smiles_from_to["(wtf)"] = "ai";
    smiles_from_to["(sos)"] = "bc"; smiles_from_to["(boom)"] = "bb";
    smiles_from_to["(rofl)"] = "bj"; smiles_from_to["xD"] = "bj";
    smiles_from_to["(music)"] = "ar"; smiles_from_to["(angel)"] = "aa";
    smiles_from_to["(beer)"] = "az"; smiles_from_to["(omg)"] = "bu";
    smiles_from_to["(dance)"] = "bo"; smiles_from_to["(idiot)"] = "bm";
    smiles_from_to["(clap)"] = "bi"; smiles_from_to["(gotkiss)"] = "as";
    var replaced = getString;
    for(var key in smiles_from_to){
       replaced = replaced.replace(key, "<img src='"+chrome.extension.getURL("images/"+smiles_from_to[key]+".gif")+"' />");
    }
    return replaced;
}

皆さん、こんにちは。コードをもっと単純なものに最適化する必要があるので、for ループを避けるようにしてください。「var 置換」は巨大な html コードです (日付、ユーザー名、userinfo(tooltip)、100 行のメッセージを含む div のコンテンツ)。メッセージ、.....) このコードは、私の chrome 拡張機能の一部です。だから私はそれをphp側で行うことはできません。

4

1 に答える 1

1

形式の単一の巨大な正規表現を使用/:\)|:\(|.../gし、検索オブジェクトで一致を検索する代替として callbacka を渡すことができます。

于 2013-01-27T21:26:03.050 に答える