programing

__()와 esc_html_e를 사용하는 경우

abcjava 2023. 2. 20. 23:47
반응형

__()와 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

반응형