Commit 6326d4ef authored by jan.koester's avatar jan.koester
Browse files

new method

parent 28fcaeda
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -724,24 +724,29 @@ void libhtmlpp::HtmlEncode(const std::string &input, std::string &output){
    }
}

void libhtmlpp::HtmlDecode(const std::string &input,HtmlString &output){
void libhtmlpp::HtmlDecode(const std::string &input,std::string &output){
    size_t ilen=input.length();
    for(size_t i=0; i<ilen; ++i){
        size_t ii=0;
        bool changed=false;
        while(HtmlSigns[ii][0]){
            if(input.compare(i,strlen(HtmlSigns[ii][1]),HtmlSigns[ii][1]) == 0){
                output << HtmlSigns[ii][0];
                output += HtmlSigns[ii][0];
                changed=true;
            }
            ++ii;
        }
        if(!changed)
            output << input[i];
            output += input[i];
    }
    output.parse();
}

void libhtmlpp::HtmlDecode(const std::string &input,HtmlString &output){
    std::string tmp;
    HtmlDecode(input,tmp);
    output << tmp;
    output.parse();
}

libhtmlpp::HtmlElement::HtmlElement(const std::string &tagname) : HtmlElement(){
    _TagName.clear();
+8 −2
Original line number Diff line number Diff line
@@ -380,13 +380,19 @@ namespace libhtmlpp {
        friend class HtmlPage;
    };
/**
 * @brief Encodes special HTML characters in a string and appends to an HtmlString.
 * @brief Decodes special HTML characters in a string and appends to an HtmlString.
 * @param input Plain input string.
 * @param output Destination HtmlString that receives encoded characters.
 */
    void HtmlDecode(const std::string &input,HtmlString &output);

/**
 * @brief Decodes special HTML characters in a string and appends to an std::string.
 * @param input Plain input string.
 * @param output Destination HtmlString that receives encoded characters.
 */
    void HtmlDecode(const std::string &input,std::string &output);

    void HtmlDecode(const std::string &input,HtmlString &output);
/**
 * @brief Encodes special HTML characters in a string and writes into std::string.
 * @param input Plain input string.