anywhere yet.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2479 c06c8d41-db1a-0410-9941-cceddc491573
S7WNIRQ2K5A4BAFCEOXS5F6BMXYZM2R2Y2PW7MA5XSM6AUVW36SQC
}
void replace_all_in_string(std::string& s, const std::string& search,
const std::string& replace)
{
std::string::size_type pos = 0;
while ( (pos = s.find(search, pos)) != std::string::npos )
{
s.replace(pos, search.size(), replace);
pos += replace.size();
}
}
std::string formatted_string::html_dump() const
{
std::string s;
for (unsigned i = 0; i < ops.size(); ++i)
{
std::string tmp;
switch (ops[i].type)
{
case FSOP_TEXT:
tmp = ops[i].text;
// (very) crude HTMLification
replace_all_in_string(tmp, "&", "&");
replace_all_in_string(tmp, " ", " ");
replace_all_in_string(tmp, "<", "<");
replace_all_in_string(tmp, ">", ">");
replace_all_in_string(tmp, "\n", "<br>");
s += tmp;
break;
case FSOP_COLOUR:
s += "<font color=";
s += colour_to_str(ops[i].x);
s += ">";
break;
case FSOP_CURSOR:
// FIXME error handling?
break;
}
}
return s;