Peut-être que beaucoup de gens penseront que l'analyseur HTML actuel est suffisant, et que même de simples expressions régulières peuvent déjà répondre aux besoins de manipulation de documents HTML. Oui, pour la grande majorité des documents HTML sur Internet, en fait, la plupart d'entre eux répondent aux spécifications XHTML, et leur analyse ne nécessite pas un analyseur puissant. Mais un analyseur puissant est une chose, et un analyseur parfait en est une autre.
Jumony Core fournit d'abord un moteur d'analyse HTML presque parfait, et ses résultats d'analyse sont infiniment proches de ceux du navigateur. Qu'il s'agisse d'éléments sans balises de fin, d'éléments avec des balises de fin facultatives, d'attributs de balise ou de sélecteurs et styles CSS, tous les documents HTML légaux et illégaux seront analysés par le navigateur, et Jumony les analysera dans quel qu'il soit. En d'autres termes, les résultats de l'analyse de Jumony sont les mêmes que ceux de l'analyse du navigateur, vous n'avez donc plus à vous soucier de savoir si le document HTML peut être reconnu. Si le navigateur peut le lire, Jumony peut le comprendre.
Il n'y a qu'un pas entre la perfection et la puissance, mais un analyseur parfait vous permet de ne jamais avoir à vous soucier du document source HTML.
Ce qui suit est une liste incomplète des fonctionnalités prises en charge par l'analyseur 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Élément | <script>if ( 1<a ) alert( "< p>" );</script> |
"script", "style", "textarea", "title" | |
Élément préformaté | ;<span class="font5"></span><span class="font6"></span></span></td> </tr>Utilisez des guillemets simples pour les valeurs d'attribut <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>N'utilisez pas de guillemets pour les valeurs d'attribut<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>Valeur d'attribut manquante (mais avec le signe égal)<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>Il y a un espace devant la valeur de l'attribut<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>Parse<tr>HTML<td class="xl67" width="371"><span style="font-family:courier new,courier;font-size:12px;">Déclaration</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>Non seulement elle peut analyser le HTML à partir du texte, mais l'API de Jumony peut directement récupérer l'analyse des documents sur Internet et identifier automatiquement les encodages basés sur les en-têtes 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" ) Copier après la connexion Copier après la connexion Et actuellement, seulement le deuxième HTML de Jumony d'analyse du projet open source HtmlAgilityPack a depuis longtemps cessé de se mettre à jour. Après tant d'années, il y a toujours des problèmes avec l'analyse des éléments |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!