Я использую небольшой веб-сервер на ESP-32, и файлы HTML на флэш-памяти обращаются к нему через SPIFFS.У меня есть несколько полей состояния, которые я хотел бы динамически вставить в статические HTML-файлы.Поэтому я определил некоторые пользовательские заполнители, такие как {data_recv}
и {data_sent}
, которые должны быть заменены значениями полей из кода и затем обслуживаться веб-сервером в браузере клиента.
Когда браузер клиента запрашивает один изHTML-страницы, я собираюсь читать их с помощью SPIFFS, например:
if(SPIFFS.exists(path)) { // if the file exists
File file = SPIFFS.open(path, "r"); // open it
// TODO: replace placeholders {data_recv} and {data_sent} with field values ...
size_t sent = server.streamFile(file, contentType); // and send it to the client
file.close(); // then close the file again
return true;
}
Некоторые идеи о том, как реализовать функцию «найти и заменить» для типа File
?
Что-то со следующей сигнатурой функции:
bool findAndReplace(File file, String searchStr, String replaceStr) {
// implementation ...
}