Я пытаюсь использовать c ++ для редактирования большого количества HTML-файлов. Все это работает, за исключением случаев, когда я пытаюсь отредактировать тег src. Я думаю, что это из-за кавычек. Вот мой код
string strReplace2 = "src=\"\""; //string to replace
а также
strTemp = "src=\"http://localhost/Media/TV Shows/The Big Bang Theory Season 6/" + filename + "\"";
Когда я запускаю программу, все работает, кроме той части, которая записывается в файл.
Вы можете попробовать это для замены вещей в кавычках.
void replace_between_quotes(std::string &str, const std::string &replacement)
{
std::size_t pos_f = str.find_first_of("\"");
std::size_t pos_e = str.find_last_of("\"");
if (pos_f < pos_e && pos_f != std::string::npos && pos_e != std::string::npos)
{
std::size_t len = pos_e - pos_f - 1;
str.replace(pos_f + 1, len, replacement);
}
}
int main()
{
std::string filename = "somefile";
std::string str = "src=\"http://localhost/Media/TV Shows/The Big Bang Theory Season 6/" + filename + "\"";
replace_between_quotes(str, filename);
std::cout<<str;
}
Других решений пока нет …