tema 3 IOM

Daca tot imi petrec vacanta facand teme m-am gandit sa scriu si despre cum am reusit sa rezolv anumite probleme dupa ce m-am dat cu capul de pereti sau am intrebat un prieten:P.

Pentru cei ce nu cunosc cerinta, tema 3 la iom suna cam asa:

"Search cu highlight pe text

Se cere sa se realizeze un script care sa extraga termeni de cautare dintr-o pagina HTML si sa ii marcheze vizual (similar cu functionalitatea google http://www.googleguide.com/favorite_highlighting.html
- versiune simplificata, fara highlight diferentiat ca si culoare pe fiecare cuvant in cazul in care sunt mai multe cuvinte folosite ca termeni de cautare)

In acest scop, se va folosi o pagina HTML cu un formular in care se vor introduce termenii de cautare si numele fisierului HTML in care se va efectua cautarea (alt fisier HTML pe acelasi server). La apasarea unui buton de search, se afiseaza in aceeasi pagina cu formularul, intregul text din fisierul selectat anterior avand termenii de cautare highlighted.
Formularul va ramane vizibil, permitand o noua cautare.

Se vor trimite : fisierele HTML (atat cel care contine formularul de cautare cat si cele folosite pentru textul pe care se face search) si fisierele Javascript folosite.

Folosirea AJAX nu este obligatorie dar se va acorda un bonus de 10% pentru cei care folosesc."

AJAX (Asynchronous Javascript and XML) face cereri catre un server web pentru a actualiza o pagina fara a o reincarca complet. Prin urmare serverul web este indispensabil, chiar daca se lucreaza local. Deci primul pas pentru a folosi AJAX este instalarea serverului de apache!

Odata instalat, ambele fisiere html, atat cel care contine form-ul si codul javascript+ajax, cat si cel in care se face cautarea, trebuiesc mutate in directorul htdocs, din directorul in care a fost instalat serverul. Default: C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/.

Odata facuti acesti pasi se poate rula aplicatia scriind in browser: http://localhost/aplicatie.html.

In privinta parsarii fisierului html in care se face cautarea, trebuie avut grija sa se caute doar in interiorul tagului body, si doar informatia cuprinsa intre taguri, deci astfel: "> text de parsat <" !

Pentru a se evita match-uirea substringurilor unui string (de exemplu in cazul cuvantului de cautat "vara" si a stringului "primavara") se pot folosi expresii regulate. Javascript ofera o serie de metode pentru lucrul cu stringuri, printre care si metode ca search, test, match care cauta o expresie regulata intr-un string. Pentru mai multe informatii despre metodele de lucru cu stringuri, intrati aici.

Parsarea textului html se poate realiza si cu DOM.

In speranta ca v-am fost cat de cat de ajutor, spor la teme!

3 comentarii:

Anonim spunea...

nifteee :)

Cosmina Niculae spunea...

Thank you! :)

Anonim spunea...

Revin şi reformulez aprecierea:
- cu developer.mozilla.org mi-am cam luat-o în freză. M-am chinuit vreo 45min să mă prind că de fapt \b nu face match ci pune doar condiţii :|
- pentru stress zero recomand cu caldură Cassini ca server web. E făcut cu .NET şi în 2 minute poţi expune pe un server web local orice locatie de pe harddisk ;)

 
Design Brigade