Problem jeste komplikovan, ali opet moguce ga je resiti u velikom broju slucajeva. Dakle, prvo trebas napisati kod koji svaku boju pretvoriti u njenu HEX vrednost. Dakle, boja se moze zadati imenom (tipa 'red'), RGB oznakom (0,0,0) ili heksadecimalnim kodom (#ffffff) koji moze biti u skracenom (#fff) ili punom obliku.
E sada, trebas pohvatati boju pozadine dela stranice gde se taj tekst nalazi kao i boju samog teksta. Boja teksta moze biti zadana font tag-om, color atributom BODY tag-a ili preko CSS-a. Boja pozadine elementa moze biti zadata bgcolor atributom BODY-a, ili background tag-om elementa ili preko CSS-a.
Dodatno, boje mogu biti promenjene preko JavaScript DOM-a sto nije tesko detektovati jer se pristupa ".style" parametru.
Dakle, ti bi trebao napisati HTML parser koji bi ucitavao sve CSS-ove (@import ili preko link-a), a onda u DOM stilu izparsirao HTML i na kraju ga obisao redom uporedjujuci aktuelnu boju pozadine i boju teksta. Nije nemoguce, ali treba dosta vremena. Kao ohrabrenje - recimo da je interesantno i da ces imati ozbiljno parce koda kada ovo zavrsis.
Pogledaj ove linkove:
http://www.sitepoint.com/article/coming-soon-webserver-near/15
http://www.carrubbers.org/scripts/php/xpath/
i eventualno
http://tidy.sourceforge.net
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja