CRIOSWEB_HTMLCleaner pe hotscripts.com si phpclasses.org

CRIOSWEB_HTMLCleaner este o clasa PHP care incearca sa rezolve o problema des intalnita in domeniul editarii documentelor web folosind ca surse documente generate de editoare vizuale.
Clasa este folosita pentru a curata codul sursa HTML generat de etichetele si atributele superfluue, inutile.
O aplicabilitate speciala se poate imagina in randul CMS-urilor, dar nu numai.
Fiind nevoit sa folosesc tone de cod HTML generat de Microsoft Word, am creeat aceasta clasa, poate si fiindca nu am gasit la momentul respectiv nimic potrivit.
Ajunsa la versiunea 0.8, am considerat clasa suficient de matura incat sa poata fi publicata online. Desi de dimensiuni reduse, isi face treaba exemplar din punctul meu de vedere, mai ales in conjunctie cu extensia tidy, de care se poate lipsi, de altfel.
Am combinat puternica librarie HTML Tidy cu curatarea bazata pe expresii regulate. Am vrut o metoda simpla de a elimina etichetele (tag-urile) si atributele inutile (in principal stiluri) mentinand totusi compatibilitatea cu standardul W3C.

Nu se face verificarea sintaxei decat in conjunctie cu tidy, pentru ca unealta este destinata curatarii pana la cod HTML de baza, nu corectare, sanitizare sau verificare.

In conjuctie cu tidy, clasa poate aplica toate actiunile tidy (curatare, corectare erori, conversie in XHTML, etc), apoi optional toate actiunile clasei (eliminare stiluri, comprimare, etc).

Momentan urmatoarea metoda de curatare este implementata: tag whitelist/attribute blacklist.
Licenta este Creative Commons LGPL pentru uz personal , non-comercial.

Mai multe detalii aici:
http://luci.criosweb.ro/blog/2007/08/04/html-cleaner/

Clasa a fost aprobata de hotscripts.com si phpclasses.org, deci o puteti gasi si in cele mai importante ‘depozite’ de scripturi/clase:
http://www.hotscripts.com/Detailed/75250.html
http://www.phpclasses.org/browse/package/4225.html

stumbleupon digg rss

3 People have left comments on this post



» Alexandra said: { Dec 12, 2007 - 06:12:21 }

Era mai corect daca spuneai ca ai facut HTMLCleaner ca sa-mi usurezi mie munca… :P

» killahbeez said: { Mar 24, 2008 - 02:03:05 }

ce naiba vrea sa reprezinte asta in expresiile tale regulate?

([( )]*)

» Lucian Sabo said: { Mar 24, 2008 - 02:03:40 }

Nu stiu inca daca te referi la o eroare sau o nelamurire. Daca este ceva gresit te-as ruga sa explici.

Este vorba despre entitatea non-breaking spaces care inseamna spatiu. Prin unele instructiuni ce contin aceasta secventa se pastreaza spatiile. Nu este pusa la intamplare daca la asta te referi.

PS: Incearca pe viitor ca prima intrebare pe care o adresezi unui necunoscut sa nu inceapa cu “ce naiba”.


Post a Comment