PHP에서 HTML 주석을 삭제하는 방법

青灯夜游
풀어 주다: 2023-03-10 10:08:01
원래의
2170명이 탐색했습니다.

정규식과 함께 PHP의 preg_replace() 함수를 사용하면 html 주석을 삭제할 수 있습니다. 이 함수는 정규식 검색 및 대체를 수행할 수 있습니다. 특정 구문 형식은 "preg_replace('##','',string)".

PHP에서 HTML 주석을 삭제하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php에서 html 주석을 삭제하는 방법

우선 기본 사항은 다음과 같습니다.

    $a = &#39;<!--ceshi-->ceshi&#39;;
    $a = preg_replace(&#39;#<!--.*-->#&#39; , &#39;&#39; , $a);
    var_dump($a);
로그인 후 복사

위 코드는 ceshi를 출력합니다.

하지만 다음 문자열이면 원하는 효과를 얻을 수 없습니다

    $a = &#39;<!--ceshi-->ceshi<!--ceshi-->&#39;;
    $a = preg_replace(&#39;#<!--.*-->#&#39; , &#39;&#39; , $a);
    var_dump($a);
로그인 후 복사

그래서 일치 규칙을 다음 형식으로 변경했습니다

preg_replace(&#39;#<!--.*?-->#&#39; , &#39;&#39; , $a);
로그인 후 복사

하지만 <!-- html에 [if lt IE 9]>ceshi<![endif]--> 이러한 코드는 제거할 수 없으므로 일치 규칙을 개선하여 다음 형식으로 변경해야 합니다<!--[if lt IE 9]>ceshi<![endif]-->这样的代码的话是不能去掉的,所以我们需要改进匹配规则,改成以下的格式

preg_replace(&#39;#<!--[^\!\[]*?-->#&#39; , &#39;&#39; , $a);
로그인 후 복사

又接着如果html中有<script><!--ceshi//--></script>

preg_replace(&#39;#<!--[^\!\[]*?(?<!\/\/)-->#&#39; , &#39;&#39; , $a);
로그인 후 복사
그런 다음 html 코드가 있는 경우 <script><!--ceshi//--></script> 일치 규칙을 다시 변경하고 다음 형식으로 변경해야 합니다

rrreee

In 이 경우 기본적으로 제거해야 할 HTML의 주석을 제거했습니다!

추천 학습: "PHP 비디오 튜토리얼

"🎜

위 내용은 PHP에서 HTML 주석을 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿