あなたは(少なくとも、基本バージョン)JavaScriptでstrtr
PHP関数再実装する必要があります。この関数はかなりシンプルです。オリジナルを新しいものにマップする変換テーブルを受け入れ、元の値のすべてのインスタンスを新しい値に置き換えます。
function trans(text, table) {
for(var i = 0; i < table.length; i++) {
var entry = table[i];
text = text.replace(new RegExp(entry[0], 'g'), entry[1]);
}
return text;
}
あなたはそうのようにそれを直接使用することができます:私が言ったように
var $trans = [
['a','b'],
['c','d']
];
alert(trans('acdc cats pajamas', $trans));
、trans
機能は非常に簡単です。提供された変換テーブルのすべてのエントリを繰り返し処理し、エントリの最初の要素を正規表現に変換します。正規表現(new RegExp
を使用して)を正規表現に変える理由は、'g'
オプションのためです。これは、見つかった最初のものだけでなく、すべての一致を置き換えることができます。
そして、あなたの正確な状況でそれを使用する例の方法:
<script>
function trans(text, table) {
for(var i = 0; i < table.length; i++) {
var entry = table[i];
text = text.replace(new RegExp(entry[0], 'g'), entry[1]);
}
return text;
}
var trans_table = [
["á", "a"],
["é", "e"],
["í", "i"],
["ó", "o"],
["ú", "u"]
];
var geoip_city_trans = trans(geoip_city(), trans_table);
document.write('<a class="white-link" href="?s=' + geoip_city_trans + '">¿Estás en ' + geoip_city_trans +'?</a>');
</script>
注:私は、このページに含まれています外部スクリプトに変換テーブルと実際のtrans
機能を有することをお勧め、対アンカーを印刷する場所を定義します。
'geoip_city()'はJavaScript関数ですか?もしそうなら、javascriptで翻訳機能を再実装する必要があります。難しくありません。 –
ありがとう、私は今それに近づいています。それは私がコードを検索しようとするWordPressのプラグインです。私は都市を取得するためのショートコード「[mmjs-city]」も持っています。 PHPでそれをスタイルすることはできますか?それともスクリプトを変更する必要がありますか? – lisovaccaro
私の答えはあなたのために働いたのですか? –