__()와 esc_html_e를 사용하는 경우
내가 왜 더 써야 하는지 설명해 줄 사람?
__()
주로 이스케이프할 필요가 있는 마크업을 포함하지 않는 단순한 텍스트용입니다.와는 다르다_e()
즉, 전자는 번역된 텍스트를 반환하고 후자는 번역된 텍스트를 에코합니다.
esc_html_e()
그리고.esc_html__()
비슷하지만 마크업을 포함하는 문자열에 사용됩니다.이들은 각각 제공된 문자열을 이스케이프한 후 해당 문자열을 호출합니다._e()
또는__()
어떤 것을 사용하느냐에 따라 다른 부품도 달라집니다.
사용자 입력에서 제공된 문자열을 수락하는 경우 HTML을 이스케이프해야 합니다.XSS 공격은 사용자 입력을 받아들여 페이지에 렌더링하는 사이트에 대한 가장 일반적인 유형의 공격입니다.공격자는 쉽게 제공할 수 있습니다.<script>
태그 지정 및 임의 Javascript 실행(입력 내용이 제대로 청소되지 않았거나 이스케이프되지 않은 경우.
독자들의 상태처럼esc_html_e()
는 변환된 문자열을 취득하여 이스케이프하고 결과를 에코합니다. __()
변환된 문자열을 반환합니다.이러한 각 기능의 소스는, 다음의 점을 명확하게 합니다.
function __( $text, $domain = 'default' ) {
return translate( $text, $domain );
}
function esc_html_e( $text, $domain = 'default' ) {
echo esc_html( translate( $text, $domain ) );
}
esc_html_e()의 목적은 번역된 문자열에서 이상한 문자가 나오지 않도록 하는 것입니다(코드에 있는 원래 문자가 아닙니다).
그러나 _e()는 변환용일 뿐 이스케이프는 없습니다.
단순한 Devs입니다.변환된 문자열을 에코 또는 인쇄하려면 esc_html_e 를 사용합니다.변환된 문자열을 인쇄하지 않고 값만 반환하려면 __() 을 사용합니다.
자세한 내용은 esc_html_e & __()에서 참조할 수 있습니다.
언급URL : https://stackoverflow.com/questions/38662525/when-to-use-and-esc-html-e
'programing' 카테고리의 다른 글
Keyclock에서 사용자 비밀번호를 변경하기 위한 API 호출이 있습니까? (0) | 2023.02.20 |
---|---|
새 Postgre 내의 필드를 수정하려면 어떻게 해야 합니까?SQL JSON 데이터형? (0) | 2023.02.20 |
*ALL* 워드프레스 카테고리에서 상위 카테고리 템플릿을 사용합니다. (0) | 2023.02.20 |
Oracle SQL Developer에서 버퍼 크기를 늘려 모든 레코드를 표시하는 방법은 무엇입니까? (0) | 2023.02.20 |
map() React 내부 조건 (0) | 2023.02.20 |