2010-10-17 5 views
0

Existe-t-il un module CPAN ou un fragment de code que je peux utiliser pour modifier les fichiers HTML locaux sans utiliser regExp?Comment puis-je modifier un fichier HTML local en Perl?

Ce que je veux faire:

  1. Modifier la balise de départ (exemple: <div>-<div id="newtag">)
  2. Ajouter un tag avant une autre (par exemple: </head> à <script type="text/javascript"> ...</script></head>
  3. Supprimer les tags
  4. Lire le contenu d'une balise donnée. (< - ok cela peut être fait avec un analyseur XML/HTML
+4

Il y a déjà pas mal de réponses sur StackOverflow, dont beaucoup avec des exemples détaillés. Toujours chercher d'abord. :) Aussi, si vous vous demandez s'il existe un module CPAN, allez dans [CPAN] (http://search.cpan.org) et regardez. :) –

Répondre

5

Si vous avez du HTML, et non du XHTML, vous ne voulez pas utiliser un analyseur XML.

HTML::Parser est l'analyseur HTML standard pour Perl. Presque tout le reste est construit sur le dessus.

HTML::TokeParser est une interface alternative à HTML :: Parser. Il renvoie les choses à la demande au lieu de tout transmettre aux rappels.

HTML::TreeBuilder génère un arbre de type DOM à partir du code HTML, que vous pouvez ensuite modifier. Étend HTML :: TreeBuilder avec le support de XPath.

HTML::TreeBuilder::XPath Étend HTML :: TreeBuilder avec des sélecteurs de type jQuery.

HTML::Query

pQuery est un autre module qui apporte une compatibilité jQuery plus complète à HTML :: TreeBuilder.

1

CPAN

Une simple recherche CPAN retourne

XPATH

On dirait que vous n'êtes pas familier avec XPath. Voici un petit tutoriel pour vous familiariser. Ce n'est pas Perl mais ça va expliquer les concepts.

Questions connexes