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)) {
![시스템 설계: 도서관 관리 시스템](https://img.php.cn/upload/article/001/246/273/173042649171859.jpg)
01Nov2024
Go로 도서관 관리 시스템 구축하기 이 기사에서는 Go로 구현된 LMS(라이브러리 관리 시스템)를 살펴보고 핵심 기능, 디자인 결정 및 주요 코드 조각을 강조합니다. 라이브러리 관리의 핵심 기능
![cmhtml.dll - cmhtml.dll이란 무엇입니까?](https://img.php.cn/upload/article/001/246/273/172749519074455.png)
28Sep2024
cmhtml.dll은 내 컴퓨터에서 무엇을 하고 있나요? 응급처치 도서관 이 과정은 아직 검토 중입니다. cmhtml.dll과 같은 비시스템 프로세스는 시스템에 설치된 소프트웨어에서 시작됩니다. 대부분의 응용 프로그램은 하드 디스크에 데이터를 저장하고
![](/static/imghwm/down_right.png)
![](/static/imghwm/taglogo.png)
Hot Tools
![종속성 주입 컨테이너용 PHP 라이브러리](https://img.php.cn/upload/manual/000/000/001/5e21721e79a2b232.png)
종속성 주입 컨테이너용 PHP 라이브러리
종속성 주입 컨테이너용 PHP 라이브러리
50개의 뛰어난 클래식 PHP 알고리즘 모음
클래식 PHP 알고리즘, 훌륭한 아이디어를 배우고 사고력을 확장하세요
이미지 최적화를 위한 작은 PHP 라이브러리
이미지 최적화를 위한 작은 PHP 라이브러리
![](/static/imghwm/taglogo.png)