답변:
esc_html()
HTML로 구문 분석되지 않도록 문자열을 이스케이프합니다. 예를 들어와 같은 문자 <
는로 변환됩니다 <
. 이것은 독자와 동일하게 보이지만 출력되는 값이 <script>
브라우저에서 실제 스크립트 태그로 해석되지 않음을 의미합니다.
출력되는 값에 HTML이 없어야 할 때마다이 기능을 사용하십시오.
esc_attr()
class=""
예를 들어 HTML 속성에서 사용하기에 안전하도록 문자열을 이스케이프합니다 . 이로 인해 값이 HTML 속성에서 벗어날 수 없습니다. 예를 들어 값이 "><script>alert();</script>
있고 HTML 속성으로 출력하려고하면 현재 HTML 태그를 닫고 스크립트 태그를 엽니 다. 안전하지 않습니다. 값을 이스케이프하면 HTML 속성을 닫고 태그를 지정하고 안전하지 않은 HTML을 출력 할 수 없습니다.
HTML 속성 내에서 값을 출력 할 때이 함수를 사용하십시오.
esc_url()
유효한 URL인지 확인하기 위해 문자열을 이스케이프합니다.
href=""
또는 src=""
속성 내부에 값을 출력 할 때이 기능을 사용하십시오 .
esc_textarea()
<textarea>
요소 에서 사용하기에 안전하도록 값을 이스케이프합니다 . 이 함수를 사용하여 값을 이스케이프하면 내부에서 값이 출력되어 요소 <textarea<
를 닫고 <textarea>
자체 HTML을 출력하는 것을 방지합니다 .
<textarea>
요소 내부에 값을 출력 할 때이 기능을 사용하십시오 .
esc_html()
그리고 esc_attr()
또한 끝나는 버전이 __()
, _e()
그리고 _x()
. 번역 가능한 문자열을 출력하기위한 것입니다.
워드 프레스는 기능을 가지고 __()
, _e()
그리고 _x()
번역 할 수있는 텍스트를 출력. __()
반환 번역 가능한 문자열, _e()
에코 번역 가능한 문자열을, 그리고 _x()
주어진 상황과 번역 문자열을 반환합니다. 아마 전에 본 적이있을 것입니다.
안전한 값을 포함하도록 변환 파일을 반드시 신뢰할 수는 없으므로 변환 가능한 문자열을 출력 할 때 이러한 함수를 사용하면 출력되는 문자열이 위에서 설명한 동일한 문제를 일으킬 수 없습니다.
번역 가능한 문자열을 출력 할 때이 기능을 사용하십시오.
esc_html
와 사이에는 차이가 없으며 esc_attr
동일한 코드가 사용됩니다 (단지 사용되지 않는 다른 필터가 있음). wordpress.stackexchange.com/questions/264698/…
esc_html
예를 들어 <p>
태그 사이에서 html 내부에서 사용됩니다.
<p><?php echo esc_html( $some_variable ); ?></p>
esc_attr
다음과 같이 html 태그에서 속성 값을 이스케이프 처리하는 데 사용됩니다.
<p my-attribute="<?php echo esc_attr( $some_variable ); ?>"></p>
_e
마지막에 적용 하면 텍스트 도메인과 함께 사용되며 자동으로 에코됩니다.
<p><?php esc_html_e( 'some-text', 'text-domain' ); ?></p>
<p my-attribute="<?php esc_attr_e( 'some-text', 'text-domain' ); ?>"></p>
추가하여 _e
도이 __
같은 작업을 수행하는 _e
당신이 변수에 저장할 수 있도록하지만 나던 에코을.
_e
에코를위한 것이 아니라 현지화를위한 것입니다. 따라서 문자열이 함수에 전달 될 때만 사용해야하며 텍스트 도메인을 포함해야합니다. 마지막 예는 그것을 잘못 사용하고 있습니다.