php htmlspecialchars() 및 Strip_tags 함수는 모두 HTML 코드의 형식을 지정합니다. 많은 사람들이 htmlentities와 htmlspecialchars의 함수가 동일하다고 생각하지만 실제로는 동일합니까? 대답은 '아니요'입니다. 그렇지 않으면 그런 기능이 없습니다. 기사에서는 php htmlspecialchars()와 Strip_tags 함수의 차이점을 안내합니다.
먼저 htmlspecialchars 함수와 Strip_tags 함수의 사용 예를 살펴보겠습니다.
<?php $str="<a href='http://www.php.cn'>php中文网</a>"; echo htmlspecialchars($str); echo "<br><br>"; echo strip_tags($str); ?>
브라우저에서 코드를 실행한 결과:
페이지 소스 코드를 보면 결과는 다음과 같습니다.
<a href='http://www.php.cn'>php中文网'"</a><br/><br/>php中文网'"
결과에서 htmlspecialchars()와 Strip_tags의 차이점은 다음과 같습니다.
차이점 1:
strip_tags 함수를 사용함 HTML 태그를 제거하는 반면 htmlspecialchars는 태그를 HTML 인스턴스로 변환하기만 하므로 둘 사이의 가장 큰 차이점은 하나는 HTML 태그를 삭제하는 것이고 다른 하나는 html 태그를 다른 태그로 변환하는 것입니다. 문자.
차이점 2:
HTML 태그에서 제거해야 하는 문자열의 태그가 원래 잘못된 경우(예: 보다 큼 기호가 누락된 경우) Strip_tags 함수를 사용할 때 오류가 반환되지만 htmlspecialchars는 오류가 없으며 HTML 엔터티 이후에도 계속 변환됩니다.
차이점 3:
XSS 공격을 방지할 때는 일반적으로 htmlspecialchars 기능을 사용하는 것이 좋습니다. 왜냐하면 Strip_tags가 HTML 태그를 삭제할 수는 있지만 " 또는 '는 삭제되지 않기 때문입니다. 따라서 Strip_tags를 사용하더라도 여전히 htmlspecialchars 기능을 사용해야 합니다. htmlspecialchars 함수를 사용하여 Drop " 또는 '
양식 제출 또는 사용자 메시지 게시판에서 데이터의 원본 출력을 브라우저로 전송하려면 Strip_tags 함수 대신 htmlspecialchars 함수를 사용하십시오.
【관련 추천 글】
위 내용은 PHP htmlspecialchars()와 Strip_tags 함수의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!