ارسال سورس كد برنامهها در بلاگر داستان خودش را دارد كه پيشتر در مورد آن بحث شد.
اما اينكار (تبديل كاراكترهاي غيرمجاز به نمونههاي مجاز يا به اصطلاح escape آنها) پس از يك مدت تبديل به دردسر خواهد شد. به همين جهت برنامهي كوچك زير را براي سادهتر كردن اين وضع تهيه كردهام، كه از آدرس زير قابل دريافت است:
دريافت برنامه (براي اجرا نياز به دات نت فريم ورك 2 دارد)
اين برنامهي كمكي، انجام چند كار زير را در بلاگر براي شما سادهتر خواهد كرد:
الف) escape خودكار كاراكترهاي غيرمجاز xml هنگام ارسال سورس كدهاي خود و همچنين قرار دادن آنها داخل تگهاي div و pre مناسب.
روش برنامه نويسي آن:
public static string EscapeXml(string s)
{
var xml = s;
if (!string.IsNullOrEmpty(xml))
{
// replace literal values with entities
xml = xml.Replace("&", "&");
xml = xml.Replace("<", "<");
xml = xml.Replace(">", ">");
xml = xml.Replace("\"", """);
xml = xml.Replace("'", "'");
}
return xml;
}
<table>
<tr>
<td>data
</td>
</tr>
<table> <tr> <td>data</td> </tr>
روش برنامه نويسي آن :
private static readonly Regex REGEX_BETWEEN_TAGS = new Regex(@">\s+<", RegexOptions.Compiled);
private static readonly Regex REGEX_LINE_BREAKS = new Regex(@"\n\s+", RegexOptions.Compiled);
public static string RemoveSpaces(string html)
{
html = REGEX_BETWEEN_TAGS.Replace(html, "> <");
return REGEX_LINE_BREAKS.Replace(html, string.Empty);
}
ج) حذف كاراكتر 0xA0 . البته اين مورد ارتباطي به بلاگر پيدا نميكند ولي اگر با CPP كار كرده باشيد، حتما به مورد كپي سورس از اينترنت به داخل اديتور و عدم كامپايل آن، برخوردهايد. در سورس كدهاي CPP مجاز به استفاده از كاراكتر No-Break Space نيستيد (0xA0) و بايد حذف شود. حال فرض كنيد با بيش از 200 سطر سر و كار داريد. بنابراين نياز به يك تميز كننده سريع وجود خواهد داشت. (اين مورد در اديتور برنامه management studio اس كيوال سرور هم صادق است)
txtMod.Text = txtOrig.Text.Replace((char)160, ' ');