나는 PHP를 기반으로 다국어 사이트에서 일하고 있습니다.이스케이프 히브리어 이중 인용문 모두 PHP와 자바 스크립트
다국어 지원을 위해 다음과 같은 현지화 파일을 사용하고 있습니다. 다음과 같은 두 가지 방법이 사용
[localize.en-US.php]
$lang_code = "en-US";
$is_rtl = false;
.
.
.
define("WORD_EMAIL", "e-mail");
define("WORD_NAME", "name");
.
.
.
정의 단어.
[HTML] 나는 히브리어 작업을 거라고 때 문제가 발생
if(frm.email.value==="") {
alert("<?=WORD_EMAIL?> required.");
return false;
}
<?=WORD_EMAIL?> : <input type="text" name="email"/>
<?=WORD_NAME?> : <input type="text" name="name"/>
[자바 스크립트].
히브리어 tanslation의 "전자 메일"이라는 단어에는 큰 따옴표가 있습니다.
큰 따옴표를 이스케이프 처리하려고했습니다.
따옴표를 탈출하려면,
PHP는 하나의 백 슬래시를해야하고, 자바 스크립트는 하나 더 백 슬래시 서로가 필요합니다.
그래서 큰 따옴표 앞에 3 개의 백 슬래시를 추가했습니다.
자바 스크립트 경고 메시지가 표시됩니다. 하지만 HTML 백 슬래시 (javascript 용)에 나타납니다.
네, 작은 따옴표를 사용하면이 문제를 간단하게 해결할 수 있습니다.
그러나 지역화 파일 (일부 프랑스어 단어는 작은 따옴표를 사용) 중에서 예외가 발생합니다.
누구든지 도움이 될 수 있습니까? 모든 단서 환영.
그것은 훨씬 쉽게 될 ... 히브리어 말을하지 않습니다. 그런 다음'json_encode()'를 사용하여 배열을 javascript로 정확하게 보낼 수 있습니다. 'alert ( = json_encode (WORD_EMAIL);?> + "required.");'를 사용하여 테스트해볼 수 있습니다. 물론 html로 출력 할 때'htmlspecialchars()'가 필요합니다. – jeroen
shabbat shalom goyim 어쩌면 도움이 될 것입니다
http://php.net/manual/en/function.htmlspecialchars.php –