Ich arbeite auf mehrsprachige Website auf PHP basiert.Escape Hebräisch Doppelzitat auf beiden PHP und Javascript
Für mehrsprachige Unterstützung verwende ich Lokalisierungsdatei wie unten.
[localize.en-US.php]
$lang_code = "en-US";
$is_rtl = false;
.
.
.
define("WORD_EMAIL", "e-mail");
define("WORD_NAME", "name");
.
.
.
Definierte Wörter wie unten durch zwei Weise verwendet.
[HTML]
<?=WORD_EMAIL?> : <input type="text" name="email"/>
<?=WORD_NAME?> : <input type="text" name="name"/>
[Javascript]
if(frm.email.value==="") {
alert("<?=WORD_EMAIL?> required.");
return false;
}
Das Problem ist aufgetreten, wenn ich auf Hebräisch würde arbeiten.
Das Wort "E-Mail" der hebräischen Tanslation hat ein Doppelzitat darin.
Ich versuchte Doppelzitat zu entkommen.
doppelte Anführungszeichen zu entkommen,
PHP benötigen einen umgekehrten Schrägstrich und Javascript benötigt man mehr und einander für Backslash.
Also habe ich 3 Backslashes vor Doppelzitat hinzugefügt.
es zeigt propery auf javascript alert. aber auf HTML-Backslash (für Javascript) erscheint ..
Ja, ich weiß mit einfachen Zitat kann dies einfach lösen.
Aber es tritt eine Ausnahme unter lokalisierten Dateien (einige Französisch Wort verwendet einfache Anführungszeichen).
Kann mir jemand helfen? Irgendwelche Hinweise willkommen.
Es wäre viel einfacher, wenn Sie alle Übersetzungen in einem Array setzen. Dann können Sie dieses Array mit 'json_encode()' korrekt an Javascript senden. Sie können das mit 'alert ( = Json_encode (WORD_EMAIL);?> + "Erforderlich."); '. Und natürlich, wenn Sie nach HTML ausgeben, brauchen Sie 'htmlspecialchars()'. – jeroen
shabbat shalom goyim vielleicht wird dies dir helfen
http://php.net/manual/en/function.htmmlspecialchars.php –