Faceti cunostinta cu posibilitatile clasei string (anume basic_string) din STL. Si scrieti functia:
1. str::string RemoveExtraSpaces(str:string const& arg) – care va stergea toate spatiile care nu sunt necesare. Spatii ne-necesare se socot spatiile de la inceput si sfarsit cat si mai mult de 1 spatiu intre cuvinte.
2.std::string FindAndReplace(std::string const& subject, std::string const& search, std::string const& replace) – functia trebuie sa sa inlocuiesc in string – subject, toate aparatiile cuvantului “search” cu cuvantul “reaplce” si sa returneze string-ul rezultat.
3. std::string HtmlEncode(std::string const& text) – va inlocui caractere speciale cu coduri HTML.
|
|
" (ghilimele) se inlocuieste cu "
‘ (apostrof) se inlocuieste cu '
< (mai mic) se inlocuieste cu <
> (mai mare) se inlocuieste cu >
& (ampersant) se inlocuieste cu & |
4. std::string HtmlDecode(std::string const& html) – va inlocui codurile speciale HTML cu caractere (vezi punct 3).
5. bool ParseURL(std::string const& url, Protocol & protocol, int & port, std::string & host, std::string & document) – va analiza datele din “url” si va scrie in “protocol” datele despre protocol, “host” adresa hostului, “document” – datele care se contin dupa protocol si host.
Protocol:
|
|
enum Protocol
{
HTTP,
HTTPS,
FTP
}; |
Date de intrare: protocol://host[:port][/document]
Daca nu e specificat portul va fi considerat ca e port standart (HTTP – 80, HTTPS – 443, FTP – 21).
Exemplu:
http://www.mysite.com/docs/document1.html?page=30&lang=en#title
|
|
HOST: www.mysite.com
PORT: 80
DOC: docs/document1.html?page=30&lang=en#title |
Read More