Member 10419297 Ответов: 1

Как удалить закомментированный код из HTML-шаблона


Всем Привет,

как лучше всего удалить закомментированный код из html-шаблона в C# code behind



<html>
<head>
<title>Capital League</title>
</head>
<body style="color:#000000;">
<center>
<table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%"
id="bodyTable">
<tbody>
<tr>
<td align="center" valign="top" id="bodyCell" class="transfer_panel_main" style="font-family: verdana, sans-serif;">
<!-- BEGIN TEMPLATE // -->
<!--[if gte mso 9]>
<table align="center" border="0" cellspacing="0" cellpadding="0" width="600" style="width:600px;">
<tr>
<td align="center" valign="top" width="600" style="width:600px;">
<![endif]-->
<table cellpadding="0" cellspacing="0" class="templateContainer" style="width: 600px;
table-layout: fixed; border: 1px solid #ccc;">
<tbody>
<tr>
<td class="header_background props_bar" valign="top" align="center" style="width: 100%;
float: left; background-color: #fff;">
<!--[if gte mso 9] |(IE)]>
<table align="center" border="0" cellspacing="0" cellPadding="0" width="100%" style="width:100%;"><![endif]-->
<table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" class="columnWrapper">
<tbody>
<tr>
<td valign="top" class="mcnTextBlockInner" style="background-color:#ffffff;">
<!--[if gte mso 9] |(IE)]>
<table align="center" border="0" cellspacing="0" cellPadding="0" width="100%" style="width:100%;"><tr>
<td align="left" valign="top" width="100%" style="width:100%;"><![endif]-->
<table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" class="columnWrapper displayOff">
<tbody>
<tr>
-- and so on 

</body>
</html>


Что я уже пробовал:

ВАР папку=свойство HttpContext.Тока.Сервер.MapPath ("~/Assets/TransactionEmailFiles/cd.html");
строка htmlContent = файл.ReadAllText(путь к файлу);
var html = htmlContent ;

string pattern 1 = @"<!--.*-- & gt;";
строковый ввод = html;
замена строки = " ";
Regex rgx = новое регулярное выражение(pattern 1);
строка result1 = rgx. Replace(ввод, замена);

Richard MacCutchan

Почему, чего вы пытаетесь достичь?

Member 10419297

я хочу конвертировать html-шаблон в pdf с помощью ABCPdf , я могу конвертировать html в pdf, но в pdf commented также идет

1 Ответов

Рейтинг:
1

Peter Leow

Вам не хватает правильного шаблона регулярных выражений:

<!--(.|\n)*-->

см. демо-версию:
using System;
using System.Text.RegularExpressions;

public class Program
{
	public static void Main()
	{
		string pattern1 = @"<!--(.|\n)*-->";
		string input = @"<td valign=""top"" class=""mcnTextBlockInner"" style=""background-color:#ffffff;"">
<!--[if gte mso 9] |(IE)]>
<table align=""center"" border=""0"" cellspacing=""0"" cellPadding=""0"" width=""100%"" style=""width:100%;""><tr>
<td align=""left"" valign=""top"" width=""00%"" style=""width:100%;""><![endif]-->
<table align=""left"" border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%"" class=""columnWrapper displayOff"">
<tbody>
<tr>";
	
		string replacement = " ";
		Regex rgx = new Regex(pattern1);
		string result1 = rgx.Replace(input, replacement);
		
		Console.WriteLine(result1);
	}
}
чем дальше тем меньше комментарий:
<td valign="top" class="mcnTextBlockInner" style="background-color:#ffffff;">
 
<table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" class="columnWrapper displayOff">
<tbody>
<tr>