String.Replace ne semble pas fonctionner correctement lors du remplacement d'une partie du contenu d'un fichier HTML. Par exemple, String.Replace remplace </body></html>
par blah blah blah </body></html> html>
- notez que la deuxième balise de fermeture HTML n'est pas correctement fermée et qu'elle apparaît par conséquent lorsque la page est rendue dans le navigateur par l'utilisateur.C# remplace la chaîne dans le fichier
Quelqu'un sait pourquoi cela ne fonctionne pas comme prévu?
StreamReader sr = fi.OpenText;
String fileContents = sr.ReadToEnd();
sr.close();
fileContents = fileContents.Replace("<body>", "<body onload='jsFx();' />");
fileContents = fileContents.Replace("</body>","blah blah blah </body>");
StreamWriter sw = new StreamWriter(fi.OpenWrite());
sw.WriteLine(contents);
sw.close();
Pouvez-vous fournir un exemple de votre fichier source? Le code que vous avez soumis * devrait * fonctionner comme vous le décrivez. Je ne vois pas pourquoi vous auriez un bit "html>" supplémentaire ... – Nate
Y a-t-il une chance que cette balise soit déjà dans le fichier d'entrée? Aussi, je remarque dans l'exemple de code que vous avez un tag de corps auto-fermé, n'est-ce pas? – MrEyes
Nate - merci pour la réponse rapide et le nettoyage. Pas de code réel, mais assez proche pour faire passer mon message. – Joey