>백엔드 개발 >PHP 튜토리얼 >PHP 스트립_태그()

PHP 스트립_태그()

王林
王林원래의
2024-08-29 12:52:401129검색

PHP의 Strip_tags() 함수는 HTML 및 PHP 태그에서 문자열을 제거/제거하는 내장 함수입니다. 이는 바이트 및 HTML에서 NULL 값을 갖는 문자열을 반환하며, 주어진 입력 문자열에서 PHP 태그가 제거/제거됩니다. 이 기능은 기본적으로 사용자의 입력을 우리 사이트에 표시할 때 유용합니다. 예를 들어, 사이트에 메시지 포럼을 만들면 사용자는

이 사이트는 불량입니다!

와 같은 제목을 게시할 수 있습니다. 웹사이트가 각 게시물의 모든 제목을 표시한다면 이 원치 않는 메시지는 페이지의 모든 방문자에게 제목 형식으로 사이트에 표시될 것입니다. 따라서 이 Strip_tag() 함수를 사용하면 이러한 문제를 근절하는 데 도움이 될 것입니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문:

string strip_tags( $str, $allowed_tags )

필수 매개변수: 함수가 허용하는 매개변수는 2개입니다.

  • $str은 필수 매개변수이며 확인해야 하는 기본 문자열입니다.
  • $allowed_tags는 허용되고 제거되지 않는 태그를 설명하는 비필수 매개변수입니다. 따라서 이러한 태그는 유지됩니다.

반환 값: 이 Strip_tags 함수는 입력 문자열에서 제거된 결과 문자열을 제공합니다.

예외:

  • 이 기능은 HTML 유효성 검사를 제공하지 않습니다.
  • 기본적으로 제거되는 것 중 일부는 HTML 주석과 PHP 태그이며, 이러한 것들은 하드 코딩되어 있으므로 변경할 수 없습니다.
  • PHP 5.3.4 이후 버전에서는 자체 닫힘 XHTML 태그가 무시되므로 $allowed_tags에서는 자체 닫힘 태그만 사용할 수 있습니다.

PHP Strip_tags() 함수 예시

이제 PHP Strip_tags 기능의 작동을 이해하기 위해 몇 가지 예를 들어보겠습니다.

예시 #1

코드:

<?php<br /> // PHP programme to demostrate<br /> // strip_tags function without $allowed_tags parameter<br /> echo strip_tags("Hello <b>Sample Program!</b>");<br> ?>

출력:

PHP 스트립_태그()

위의 예에서는 모든 문자가 허용되도록 지정하는 두 번째 매개변수를 지정하지 않고도 Strip_tags 함수를 사용할 수 있음을 설명하기 위해 간단한 PHP 코드를 표시하고 있습니다. 이는 문자열의 모든 문자가 허용되고 있는 그대로 인쇄된다는 의미입니다.

예시 #2

코드:

<?php<br /> $str = '<p>To test a paragraph.</p><!-- Starting comments --> <a href="#fragment">Another paragraph goes here</a>';<br> echo strip_tags($str);<br> echo "n";<br> // Here we allow HTML tag <p><br> echo strip_tags($str, '<p>');<br> // In the version till PHP 7.4.0 the above code can be written as:<br> // echo strip_tags($str, ['p', 'a']);<br> ?>

출력:

PHP 스트립_태그()

위 예에서는 먼저 필수 HTML 코드를 지정하고 이를 입력 문자열 $str에 할당합니다. 그런 다음 단일 매개변수만 사용하여 해당 문자열에 스트립 태그 기능을 사용합니다. 다음으로

태그만 지정하는 두 번째 매개변수 $allow_tags의 사용을 보여드리겠습니다. 이는

태그는 허용되어야 하며 나머지 모든 태그는 잘라내야 합니다. 따라서 출력에서 ​​

태그 정보가 표시되고 태그 정보가 표시되지 않습니다. 또한 출력에서 ​​HTML 주석이 인쇄되지 않으므로 두 번째 매개변수 목록에 지정하지 않더라도 기본적으로 HTML 주석이 이 함수에 의해 잘립니다.

경고:

  • 이 기능은 XSS와 같은 특정 공격을 방지하는 데 사용할 수 없습니다. 필요한 출력 종류에 따라 이 목적에 사용할 수 있는 htmlspecialchars()와 같은 다른 적절한 메서드나 함수가 있습니다.
  • strip_tags() 함수는 실제로 유효성을 검사하지 않고 HTML 태그를 잘라냅니다. 결과적으로 태그가 손상되거나 예상보다 많거나 적은 데이터가 제거될 수 있습니다. 따라서 함수의 두 번째 매개변수를 지정할 때 주의해야 합니다.
  • 이 함수는 또한 일부 사용자가 다른 사용자에게 표시할 텍스트를 게시하는 데 사용할 수 있는 onmouseover 및 스타일 속성을 포함하여 $allowed_tags 함수에서 지정하는 매개변수에 대한 수정을 지원하지 않습니다.
  • 이 기능을 사용할 때 한 가지 더 주의할 점은 HTML 내에서 문자가 지정된 길이(1023바이트)보다 큰 태그 이름은 $allowed_tags에 매개변수로 제공하는 것과 관계없이 잘못된 것으로 처리된다는 것입니다. .

예시 #3

코드:

<?php<br /> $str = '<a title="" href="/index.html"><b>Some Text</b></a><br> Just a sample text to showcase a paragraph coming in HTML body';<br> echo strip_tags_content($str);<br> function strip_tags_content($str) {<br> return preg_replace('@<(w+)b.*?>.*?</1>@si', '', $str);<br> }<br> ?>

출력:

PHP 스트립_태그()

위의 예에서는 입력 문자열의 내용과 함께 앵커 태그를 제거하기 위해 Strip_tags 함수를 사용하고 있습니다. PHP Strip_tags는 제거될 때 여는 HTML 태그와 닫는 HTML 태그를 모두 자동으로 제거합니다.

예시 #4

코드:

<?php<br /> $str = '<?= '<?= 1 ?>' ?>2';<br> var_dump(strip_tags($str));<br> ?>

출력:

PHP 스트립_태그()

이 예에서는 중첩된 PHP 태그에서 콘텐츠를 제거하는 방법을 보여줍니다.

예시 #5

코드:

<?php // Test.php<br /> $str = '<br>Trial<br/>on<br />NewLine';<br> $d = strip_tags($str, '<br />');<br> var_dump($d); // Displays string(11) "TraialonNewLine" on output<br> ?>

출력:

PHP 스트립_태그()

이 예에서는
내부의 콘텐츠만 허용하고 있음을 알 수 있습니다. 문자열이며 여기에 있는 이 출력은 다른 버전의 PHP에서 실행됨에 따라 변경됩니다.

예시 #6

코드:

<?php<br> function strip_tags_d($a)<br> {<br> return is_array($a) ?<br> array_map('strip_tags_d', $a) :<br> strip_tags($a);<br> }<br> // Example<br> $arr1 = array('<b>Car</b>', '<i>Bat</i>', array('<b>Car</b>', '<i>Bat</i>'));<br> $arr1 = strip_tags_d($arr1);<br> // Output<br> print_r($arr1);<br> ?>

출력:

PHP 스트립_태그()

위의 예에서는 Strip_tags 함수에 대한 재귀 함수 사용을 표시하고 있습니다. 따라서 출력에서 ​​배열이 2의 루프로 인쇄되는 것을 볼 수 있습니다.

결론

위에서 볼 수 있듯이, 우리는 Strip_tags() 함수를 사용하여 코드에서 원치 않는 일부 HTML 및 PHP 태그를 제거하는 방법을 살펴보았습니다. 이 함수는 입력 문자열을 구문 분석하고 해당 구조를 추출할 수 있습니다. 일반적으로 HTML 문서에서 제거할 입력 인수 목록으로 전달하는 지정된 HTML 또는 PHP 태그를 자르거나 대체합니다. 이는 HTML이 아닌 PHP 태그만 다듬어야 하거나 그 반대의 경우에도 사용됩니다.

추천기사

PHP Strip_tags()에 대한 안내입니다. 여기에서는 PHP Strip_tags() 함수 소개와 코드 구현과 함께 해당 예제에 대해 논의합니다. 다른 추천 기사를 통해 자세히 알아볼 수도 있습니다.

  1. PHP 프레임워크
  2. PHP 찹()
  3. PHP setlocale()
  4. PHP strtotime

위 내용은 PHP 스트립_태그()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP의 file_put_contents다음 기사:PHP의 file_put_contents