- PHP에서 HTML / XML을 구문 분석하고 처리하는 방법은 무엇입니까?
- https://ko.wikipedia.org/wiki/HTML_타이디
- https://en.wikipedia.org/wiki/HTML_Tidy
- http://tidy.sourceforge.net/docs/quickref.html
- Comparison of HTML parsers
- https://ko.wikipedia.org/wiki/위키백과:린트_오류
- PHP simple-html-dom-parser
Tidy Function
- 혼재된 태그를 바로 잡기
- 존재하지 않거나 일치되지 않는 종료 태그 수정
- 존재하지 않는 항목 추가 (일부 태그, 인용 등)
- 사유 HTML 확장 기능 보고
- 마크업 레이아웃을 미리 정의된 스타일로 변경
- 일부 인코딩의 문자열들을 HTML 엔티티로 변환
Example
$html = "<p>test"; // <strong> 대신 휴모그래피문자 <,> 이용했다. $tidy = tidy_parse_string($html); $tidy->cleanRepair(); echo $tidy;
Result
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title></title> </head> <body> <p>test</p> </body> </html>
use Class
$file = "someone.html"; // http://domain.com/someone.html $tidy = new tidy(); $tidy->parseString(file_get_contents($file), $config, 'utf8'); $tidy->cleanRepair(); // echo tidy_get_output($tidy);
$tidy = new tidy(); $tidy->parseString('syntax <strong>error <myowntag>my text</myowntag>'); $tidy->cleanRepair(); echo $tidy;
<!DOCTYPE html> <html> <head> <title></title> </head> <body> syntax <strong>error</strong> my text </body> </html>
PHP Tidy 설치
sudo apt-get install php-tidy
PHP simple-html-dom-parser를 같이 이용하면 스크랩된 html에서 원하는 부분을 추출할 수 있다.
반응형
'lang > php' 카테고리의 다른 글
PHP 로그, 에러 리포팅 제어 (0) | 2018.07.10 |
---|---|
PHP Warning: preg_replace(): The /e modifier is no longer supported (0) | 2018.07.09 |
PHP Codeigniter - idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated (0) | 2018.07.05 |
PHP mysql-database-class (0) | 2018.07.04 |
PHP simple-html-dom-parser (0) | 2018.07.03 |