require_once '/path/to/HTMLPurifier.auto.php';
ThinkPHP 사양에 따르면 ThinkPHP 개발 사양을 준수하지 않는 타사 확장 프로그램의 경우 HTMLPurifier를 Library/Vendor 디렉터리에 배치해야 합니다. 그런 다음 다음 방법을 통해 HTMLPurifier.auto.php를 프레임워크 프로그램에 도입할 수 있습니다.
vendor('htmlpurifier.library.HTMLPurifier#auto');
그러나 여기서는 ThinkPHP 3.2.1을 사용하고 있으며 이 방법은 컨트롤러 클래스의 함수에서만 사용할 수 있다는 것을 알았습니다. 올바르게 인식되었습니다. 즉, common/function.php 파일에서만 참조할 수 있습니다.
HTMLPurifier 객체를 생성하고 서식 있는 텍스트 필터링을 구현합니다.
$config = HTMLPurifier_Config::createDefault(); $purifier = new HTMLPurifier($config); $clean_html = $purifier->purify($dirty_html);
HTMLPurifier 필터를 구성하는 방법
HTMLPurifier를 사용하려면 여전히 구성 방법에 중점을 두어야 합니다. 위 프로그램에서는 createDefault() 메소드를 통해 기본 구성 객체를 생성했습니다. 구성을 수정하려면 set 메소드를 사용하여 설정을 구성할 수 있습니다. 방법은 다음과 같습니다.
$config->set('config_object', value, a=null);
첫 번째 매개변수는 구성해야 하는 속성이고, 두 번째 매개변수는 속성의 값입니다. 그리고 세 번째 매개변수의 구체적인 용도는 무엇인지 아직 파악하지 못했지만 일반적으로 사용하지는 않았습니다. 시간이 나면 천천히 공부하겠습니다.
HTMLPurifier의 구성 속성은 웹 사이트를 통해 쿼리할 수 있습니다.
구성 속성 선택
HTMLPurifier의 구성 문서는 주로 Attr(속성), HTML(html 태그), AutoFormat(자동 형식), CSS의 두 가지 수준으로 분류됩니다. (css 구성), Output (출력 구성)...대 카테고리 이름을 추가하면 하위 카테고리 선택이 완료됩니다.
예를 들어 p 태그, a 태그 등 허용되는 html 태그를 구성하려면 다음과 같이 구성하면 됩니다.
$config->set('HTML.Allowed', 'p,a');
속성 값 선택
공식 문서에서 속성을 클릭한 후 다음을 수행할 수 있습니다. 이 속성에 대한 설명을 보면 이 속성의 값 유형(Type)이 String, Int, Array, Boolen...임을 알 수 있습니다.
그런 다음 NULL과 같은 이 속성의 기본값도 알려줍니다. , 참, 거짓 등 이 값의 형식은 PHP의 형식과 동일합니다.
화이트리스트 필터링 메커니즘
HTMLPurifier는 설정에서 허용된 항목만 검사를 통과합니다.
기본 필터링 예
a, 텍스트
/** * 过滤掉所有html标签很简单,原因则在白名单机制完成 */ $config->set('HTML.Allowed', '');
b에서 모든 html 태그를 필터링하고, 하이퍼링크 태그 a와 해당 href 링크 주소 속성을 유지하고, 대상 속성 값을 '_blank'
$config->set('HTML.Allowed', 'a[href]'); $config->set('HTML.TargetBlank', true);
c로 자동 추가합니다. 자동으로 단락 코드를 완성하고 쓸모없는 빈 태그를 삭제하세요
// 让文本自动添加段落标签,前提是必须允许P标签的使用 $config->set('HTML.Allowed', 'p'); $config->set('AutoFormat.AutoParagraph', true); // 清除空标签 $config->set('AutoFormat.RemoveEmpty', true); ……
이 사이트의 모든 리소스는 네티즌이 제공하거나 주요 다운로드 사이트에서 재인쇄되었습니다. 소프트웨어의 무결성을 직접 확인하십시오! 이 사이트의 모든 리소스는 학습 참고용으로만 사용됩니다. 상업적 목적으로 사용하지 마시기 바랍니다. 그렇지 않으면 모든 결과에 대한 책임은 귀하에게 있습니다! 침해가 있는 경우 당사에 연락하여 삭제하시기 바랍니다. 연락처: admin@php.cn
관련 기사

29Jul2016
도서관 관리 시스템 활용 사례 다이어그램: 도서관 관리 시스템 활용 사례 다이어그램 도서관 관리 프로그램(1): 이 수준의 프로그램에서 사용하는 데이터 테이블 구조: # ------ --- --------------------- # # 데이터 테이블 구조 'author' # CREATE TABLE 작성자 ( author_id int (6) DEFAULT '0' NOT NULL auto_increment, first_name varchar(20)

29Jul2016
도서관 관리 시스템 소스 코드: 도서관 관리 시스템 소스 코드 php 무작위 인증 코드 생성 이미지 코드: 다음과 같이 코드를 복사합니다:

29Jul2016
도서관 관리 시스템 수요 분석 : 도서관 관리 시스템 수요 분석 도서 관리 프로그램 (2) : 도서 카탈로그 입력 부분 : if(!$UploadAction): ?> 출판사 데이터. //편집자: Kong Xiuxiang. Date: 2001/3/24 /* session_start(); if (!isset($auth_passed)) { echo "이 기능은 승인된 사용자만 사용할 수 있습니다." } if(isset($u_name)) {

26Mar2025
이 기사는 & lt; thread & gt; 도서관, 혜택 및 스레드 안전 보장. 다중 스레드 프로그래밍에서 피할 수있는 일반적인 함정을 강조합니다.

24Feb2025
iOS 18.1, iPados 18.1 및 MacOS 15.1 Sequoia는 중요한 업데이트를 제공합니다. Siri는 텍스트 입력 옵션을 추가했습니다. 즉, 큰 소리로 말할 필요없이 입력하여 Siri와 대화 할 수 있습니다. 도서관, 지하철 및 조용 해야하는 기타 환경에서는 매우 실용적입니다. Siri의 텍스트 입력 기능은 몇 년 동안 있었지만 이전에는 접근성 설정에 숨겨져 있었고 찾기가 쉽지 않았습니다. 이제 Apple은 텍스트 입력을 사용하는 것이 음성 입력만큼 쉽습니다. 텍스트 입력 모드의 Siri 함수는 새로운 Chatgpt 확장 기능을 포함하여 음성 입력 모드와 동일합니다 ( "Apple Intel"설정에서 사용할 수 있습니다.

05Apr2025
인디애나 존스와 그레이트 서클에서는 바티칸에서 "고대의 수수께끼"퀘스트의 일환으로 10 개의 고대 유물을 찾을 수 있습니다. 유물을 찾을 수있는 곳은 다음과 같습니다. 1. 도서관 아래


뜨거운 도구

종속성 주입 컨테이너용 PHP 라이브러리
종속성 주입 컨테이너용 PHP 라이브러리

50개의 뛰어난 클래식 PHP 알고리즘 모음
클래식 PHP 알고리즘, 훌륭한 아이디어를 배우고 사고력을 확장하세요

이미지 최적화를 위한 작은 PHP 라이브러리
이미지 최적화를 위한 작은 PHP 라이브러리
