현재 위치: 집 > 다운로드 사이트 > 라이브러리 다운로드 > 기타 도서관 > htmlpurifierPHP 필터링 라이브러리
htmlpurifierPHP 필터링 라이브러리
나누다: 라이브러리 다운로드 / 기타 도서관 | 출시 시간: 2017-12-19 | 방문: 4370 |
다운로드: 80 |
최신 다운로드
판타지 아쿠아리움
소녀전선
별의 날개
작은 꽃요정 요정의 천국
레스토랑 큐트스토리
산허 여행 탐험
사랑과 프로듀서
가장 강력한 두뇌 3
오드 더스트: 다밀라
젊은 서유기 2
24시간11리더보드 읽기
- 1 Matplotlib 플롯에서 레이블이 잘리는 것을 방지하는 방법은 무엇입니까?
- 2 MongoDB에서 임베디드 배열 필드를 정렬하는 방법은 무엇입니까?
- 3 Movavi Video Editor가 깨졌습니다.
- 4 Dynamics.exe - Dynamics.exe란 무엇인가요?
- 5 비동기 콜백 함수를 동시에 기다리는 방법은 무엇입니까?
- 6 Backbone.js에서 ``의 목적은 무엇입니까?
- 7 MySQL에서 Postgresql의 DISTINCT ON 기능을 어떻게 달성합니까?
- 8 MySQL 사용자 변수에 대한 JPA 쿼리에서 콜론 문자를 이스케이프하는 방법은 무엇입니까?
- 9 Pandas DataFrame에서 각 그룹의 초기 행을 검색하는 방법은 무엇입니까?
- 10 Windows에서 npm 접두사를 설정할 때 "EPERM: 작업이 허용되지 않음" 오류를 수정하는 방법은 무엇입니까?
- 11 dwrcc.exe - dwrcc.exe란 무엇입니까?
- 12 부동 소수점 오류 없이 완전제곱수를 정확하게 결정하는 방법은 무엇입니까?
- 13 내 Nuxt 애플리케이션에서 `navigator`, `window` 및 `document`가 정의되지 않은 이유는 무엇입니까?
- 14 dxinput3.dll - dxinput3.dll이란 무엇입니까?
- 15 Marshmallow에 등록하는 동안 Android Studio에서 "getSlotFromBufferLocked: 알 수 없는 버퍼" 오류가 발생하는 이유는 무엇입니까?
최신 튜토리얼
-
- 해외 웹 개발 풀스택 강좌 총집합
- 1718 2024-04-24
-
- Go 언어 실습 GraphQL
- 2002 2024-04-19
-
- 550W 팬 마스터가 JavaScript를 처음부터 차근차근 학습합니다
- 3420 2024-04-18
-
- 기초 지식이 전혀 없는 초보자도 6시간 만에 시작할 수 있는 파이썬 마스터 모쉬
- 2952 2024-04-10
-
- MySQL 시작하기(mosh 교사)
- 1804 2024-04-07
-
- Mock.js | Axios.js | Json - 10일간의 고품질 수업
- 2617 2024-03-29
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); ……