아마도 많은 사람들은 현재의 HTML 파서만으로 충분하며 간단한 정규식이라도 이미 HTML 문서 조작 요구 사항을 충족할 수 있다고 생각할 것입니다. 예, 인터넷에 있는 대부분의 HTML 문서는 실제로 대부분 XHTML 사양을 충족하며 해당 문서의 구문 분석에는 강력한 구문 분석기가 필요하지 않습니다. 그러나 강력한 파서와 완벽한 파서는 별개입니다.
Jumony Core는 먼저 거의 완벽한 HTML 파싱 엔진을 제공하며, 파싱 결과는 브라우저의 파싱 결과와 무한히 가깝습니다. 종료 태그가 없는 요소, 선택적 종료 태그가 있는 요소, 태그 속성 또는 CSS 선택기와 스타일 등 모든 합법적인 HTML 문서와 불법적인 HTML 문서는 브라우저에서 있는 그대로 구문 분석됩니다. 즉, Jumony 구문 분석 결과는 브라우저 구문 분석 결과와 동일하므로 더 이상 HTML 문서를 인식할 수 있는지 걱정할 필요가 없습니다. 브라우저에서 읽을 수 있으면 Jumony도 이해할 수 있습니다.
완벽함과 강력함 사이에는 한 단계만 있지만 완벽한 파서는 HTML 소스 문서에 대해 걱정할 필요가 전혀 없습니다.
다음은 Jumony 파서가 지원하는 기능의 불완전한 목록입니다
特性 | 例子 |
孤立的<解析为文本 | < a应当解析为< a |
孤立的>解析为文本 | >应当解析为> |
标记属性(没有值的属性) | |
元素丢失结束标签 | |
可选结束标签元素 "body", "colgroup", "dd", "dt", "head", "html", "li", "option", "p", "tbody", "td", "tfoot", "th", "thead", "tr" |
abc 123 |
无结束标签元素 "area", "base", "basefont", "br", "col", "frame", "hr", "img", "input", "isindex", "link", "meta" , "param", "wbr", "bgsound", "spacer", "keygen" |
|
CData요소 | <script>if ( 1<a ) 경고( "< p>" );</script> |
"스크립트", "스타일", "텍스트 영역", "제목" | |
사전 형식화된 요소 | ;<span class="font5"></span><span class="font6"></span></span></td> </tr>속성 값에 작은따옴표 사용 <tr> <td class="xl67" width="371"> <span style="font-family:courier new,courier;font-size:12px;"></span>< </td><td class="xl68" width="371"><span style="font-family:courier new,courier;font-size:12px;"></span></td></tr>속성 값에 따옴표를 사용하지 마세요<tr><td class="xl67" width="371"><span style="font-family:courier new,courier;font-size:12px;"></span><a href=#></td> <td class="xl68" width="371"> <span style="font-family:courier new,courier;font-size:12px;"></span> </td> </tr>속성 값 누락(등호 포함)<tr> <td class="xl67" width="371"> <span style="font-family:courier new,courier;font-size:12px;"></span><a href=></td> <td class="xl68" width="371"><span style="font-family:courier new,courier;font-size:12px;"> </span></td> </tr>속성값 앞에 공백이 있습니다<tr> <td class="xl67" width="371"> <span style="font-family:courier new,courier;font-size:12px;"></span><a href= "test.html"></td> <td class="xl68" width="371"><span style="font-family:courier new,courier;font-size:12px;"></span></td> </tr>파싱<tr>HTML<td class="xl67" width="371"><span style="font-family:courier new,courier;font-size:12px;">선언</span></td> <td class="xl68" width="371"> <span style="font-family:courier new,courier;font-size:12px;"></span><!DOCTYPE html></td> </tr> <tr><td class="xl72" width="371"> <span style="font-family:courier new,courier;font-size:12px;"><p><br>Jumony의 API는 텍스트에서 HTML을 구문 분석할 수 있을 뿐만 아니라 인터넷에서 문서 분석을 직접 가져와 HTTP 헤더를 기반으로 자동으로 인코딩을 식별할 수 있습니다. </p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:html;toolbar:false;">new JumonyParser().LoadDocument( "www.php.cn/" ).Find( ".post_item a.titlelnk" ) 로그인 후 복사 로그인 후 복사 그리고 현재 Jumony에 이어 두 번째입니다. HTML 구문 분석 오픈 소스 프로젝트 HtmlAgilityPack은 오랜 시간 동안 업데이트를 중단했지만 가장 기본적인 |
위 내용은 완벽한 HTML 파싱 엔진(Jumony)에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!