我正在基於php的多語言網站。轉義希伯來語PHP和JavaScript雙引號
對於支持多種語言,我使用如下所示的本地化文件。通過像下面雙向使用
[localize.en-US.php]
$lang_code = "en-US";
$is_rtl = false;
.
.
.
define("WORD_EMAIL", "e-mail");
define("WORD_NAME", "name");
.
.
.
定義的詞。
[HTML]
<?=WORD_EMAIL?> : <input type="text" name="email"/>
<?=WORD_NAME?> : <input type="text" name="name"/>
[Java腳本]
if(frm.email.value==="") {
alert("<?=WORD_EMAIL?> required.");
return false;
}
當我最好的希伯來文工作的問題發生。
希伯來語坦桑尼亞語的「電子郵件」一詞有雙引號。
我試圖逃避雙引號。
爲了逃避雙引號,
PHP需要一個反斜槓,和javascript需要一個越來越相互反斜槓。
所以我在雙引號前加了3個反斜槓。
它顯示在JavaScript警報上propery。但對HTML反斜槓(對於JavaScript)出現..
是的,我知道使用單引號可以簡單地解決這個問題。
但在本地化文件(某些法文單詞使用單引號)時發生異常。
任何人都可以幫忙嗎?任何線索歡迎。
如果你把所有的翻譯在數組這將是一個容易得多。然後,您可以使用'json_encode()'將該數組正確地發送給JavaScript。你可以使用'alert(<?= json_encode(WORD_EMAIL);?> +「required」)來嘗試。當然,輸出到html時,你需要'htmlspecialchars()'。 – jeroen
安息日沙洛姆goyim也許這將幫助你
http://php.net/manual/en/function.htmlspecialchars.php –