.Net Method for converting String to HTML Escape Characters
I want to convert an e-mail address into HTML Escape Characters as a basic way to try and avoid being harvested by spam-bots. Like mentioned in this question:
When placing email addresses on a webpage do you place them as text like this:
joe.somebody@company.com
or use a clever trick to try and fool the email address harvester bots? For example:
HTML Escape Characters:
joe.somebody@company.c开发者_JS百科om
I cannot find a .Net method to do so though. The Html.Encode only does the invalid HTML characters such as £$%^& and not letters.
Does a method exist or do I need to write my own?
Many Thanks
I think you can use
HttpUtility.HtmlEncode
also see here: http://msdn.microsoft.com/en-us/library/73z22y6h.aspx
I'm not aware of anything included in the framework, but you could try something like this?
public string ConvertToHtmlEntities(string plainText)
{
StringBuilder sb = new StringBuilder(plainText.Length * 6);
foreach (char c in plainText)
{
sb.Append("&#").Append((ushort)c).Append(';');
}
return sb.ToString();
}
public static asciitable getascii()
{
asciitable ascii = new asciitable ();
ascii.AddasciiRow("0", "NUL", "�", "");
ascii.AddasciiRow("1", "SOH", "", "");
ascii.AddasciiRow("2", "STX", "", "");
ascii.AddasciiRow("3", "ETX", "", "");
ascii.AddasciiRow("4", "EOT", "", "");
ascii.AddasciiRow("5", "ENQ", "", "");
ascii.AddasciiRow("6", "ACK", "", "");
ascii.AddasciiRow("7", "BEL", "", "");
ascii.AddasciiRow("8", "BS", "", "");
ascii.AddasciiRow("9", "HT", "	", "");
ascii.AddasciiRow("10", "LF", "
", "");
ascii.AddasciiRow("11", "VT", "", "");
ascii.AddasciiRow("12", "FF", "", "");
ascii.AddasciiRow("13", "CR", "
", "");
ascii.AddasciiRow("14", "SO", "", "");
ascii.AddasciiRow("15", "SI", "", "");
ascii.AddasciiRow("16", "DLE", "", "");
ascii.AddasciiRow("17", "DC1", "", "");
ascii.AddasciiRow("18", "DC2", "", "");
ascii.AddasciiRow("19", "DC3", "", "");
ascii.AddasciiRow("20", "DC4", "", "");
ascii.AddasciiRow("21", "NAK", "", "");
ascii.AddasciiRow("22", "SYN", "", "");
ascii.AddasciiRow("23", "ETB", "", "");
ascii.AddasciiRow("24", "CAN", "", "");
ascii.AddasciiRow("25", "EM", "", "");
ascii.AddasciiRow("26", "SUB", "", "");
ascii.AddasciiRow("27", "ESC", "", "");
ascii.AddasciiRow("28", "FS", "", "");
ascii.AddasciiRow("29", "GS", "", "");
ascii.AddasciiRow("30", "RS", "", "");
ascii.AddasciiRow("31", "US", "", "");
ascii.AddasciiRow("32", " ", " ", " ");
ascii.AddasciiRow("33", "!", "!", "!");
ascii.AddasciiRow("34", Convert.ToChar(34).ToString(), """, """);
ascii.AddasciiRow("35", "#", "#", "#");
ascii.AddasciiRow("36", "$", "$", "$");
ascii.AddasciiRow("37", "%", "%", "%");
ascii.AddasciiRow("38", "&", "&", "&");
ascii.AddasciiRow("39", "'", "'", "'");
ascii.AddasciiRow("40", "(", "(", "(");
ascii.AddasciiRow("41", ")", ")", ")");
ascii.AddasciiRow("42", "*", "*", "*");
ascii.AddasciiRow("43", "+", "+", "+");
ascii.AddasciiRow("44", ",", ",", ",");
ascii.AddasciiRow("45", "-", "-", "-");
ascii.AddasciiRow("46", ".", ".", ".");
ascii.AddasciiRow("47", "/", "/", "/");
ascii.AddasciiRow("48", "0", "0", "0");
ascii.AddasciiRow("49", "1", "1", "1");
ascii.AddasciiRow("50", "2", "2", "2");
ascii.AddasciiRow("51", "3", "3", "3");
ascii.AddasciiRow("52", "4", "4", "4");
ascii.AddasciiRow("53", "5", "5", "5");
ascii.AddasciiRow("54", "6", "6", "6");
ascii.AddasciiRow("55", "7", "7", "7");
ascii.AddasciiRow("56", "8", "8", "8");
ascii.AddasciiRow("57", "9", "9", "9");
ascii.AddasciiRow("58", ":", ":", ":");
ascii.AddasciiRow("59", ";", ";", ";");
//ascii.AddasciiRow("60", "<", "<", "<");
ascii.AddasciiRow("60", "<", "<", "<");
ascii.AddasciiRow("61", "=", "=", "=");
//ascii.AddasciiRow("62", ">", ">", ">");
ascii.AddasciiRow("62", ">", ">", ">");
ascii.AddasciiRow("63", "?", "?", "?");
ascii.AddasciiRow("64", "@", "@", "@");
ascii.AddasciiRow("65", "A", "A", "A");
ascii.AddasciiRow("66", "B", "B", "B");
ascii.AddasciiRow("67", "C", "C", "C");
ascii.AddasciiRow("68", "D", "D", "D");
ascii.AddasciiRow("69", "E", "E", "E");
ascii.AddasciiRow("70", "F", "F", "F");
ascii.AddasciiRow("71", "G", "G", "G");
ascii.AddasciiRow("72", "H", "H", "H");
ascii.AddasciiRow("73", "I", "I", "I");
ascii.AddasciiRow("74", "J", "J", "J");
ascii.AddasciiRow("75", "K", "K", "K");
ascii.AddasciiRow("76", "L", "L", "L");
ascii.AddasciiRow("77", "M", "M", "M");
ascii.AddasciiRow("78", "N", "N", "N");
ascii.AddasciiRow("79", "O", "O", "O");
ascii.AddasciiRow("80", "P", "P", "P");
ascii.AddasciiRow("81", "Q", "Q", "Q");
ascii.AddasciiRow("82", "R", "R", "R");
ascii.AddasciiRow("83", "S", "S", "S");
ascii.AddasciiRow("84", "T", "T", "T");
ascii.AddasciiRow("85", "U", "U", "U");
ascii.AddasciiRow("86", "V", "V", "V");
ascii.AddasciiRow("87", "W", "W", "W");
ascii.AddasciiRow("88", "X", "X", "X");
ascii.AddasciiRow("89", "Y", "Y", "Y");
ascii.AddasciiRow("90", "Z", "Z", "Z");
ascii.AddasciiRow("91", "[", "[", "[");
ascii.AddasciiRow("92", @"\", "\", @"\");
ascii.AddasciiRow("93", "]", "]", "]");
ascii.AddasciiRow("94", "^", "^", "^");
ascii.AddasciiRow("95", "_", "_", "_");
ascii.AddasciiRow("96", "`", "`", "`");
ascii.AddasciiRow("97", "a", "a", "a");
ascii.AddasciiRow("98", "b", "b", "b");
ascii.AddasciiRow("99", "c", "c", "c");
ascii.AddasciiRow("100", "d", "d", "d");
ascii.AddasciiRow("101", "e", "e", "e");
ascii.AddasciiRow("102", "f", "f", "f");
ascii.AddasciiRow("103", "g", "g", "g");
ascii.AddasciiRow("104", "h", "h", "h");
ascii.AddasciiRow("105", "i", "i", "i");
ascii.AddasciiRow("106", "j", "j", "j");
ascii.AddasciiRow("107", "k", "k", "k");
ascii.AddasciiRow("108", "l", "l", "l");
ascii.AddasciiRow("109", "m", "m", "m");
ascii.AddasciiRow("110", "n", "n", "n");
ascii.AddasciiRow("111", "o", "o", "o");
ascii.AddasciiRow("112", "p", "p", "p");
ascii.AddasciiRow("113", "q", "q", "q");
ascii.AddasciiRow("114", "r", "r", "r");
ascii.AddasciiRow("115", "s", "s", "s");
ascii.AddasciiRow("116", "t", "t", "t");
ascii.AddasciiRow("117", "u", "u", "u");
ascii.AddasciiRow("118", "v", "v", "v");
ascii.AddasciiRow("119", "w", "w", "w");
ascii.AddasciiRow("120", "x", "x", "x");
ascii.AddasciiRow("121", "y", "y", "y");
ascii.AddasciiRow("122", "z", "z", "z");
ascii.AddasciiRow("123", "{", "{", "{");
ascii.AddasciiRow("124", "|", "|", "|");
ascii.AddasciiRow("125", "}", "}", "}");
ascii.AddasciiRow("126", "~", "~", "~");
ascii.AddasciiRow("127", "", "", "");
ascii.AddasciiRow("128", "€", "€", "€");
ascii.AddasciiRow("129", "", "", "");
ascii.AddasciiRow("130", "‚", "‚", "‚");
ascii.AddasciiRow("131", "ƒ", "ƒ", "ƒ");
ascii.AddasciiRow("132", "„", "„", "„");
ascii.AddasciiRow("133", "…", "…", "…");
ascii.AddasciiRow("134", "†", "†", "†");
ascii.AddasciiRow("135", "‡", "‡", "‡");
ascii.AddasciiRow("136", "ˆ", "ˆ", "ˆ");
ascii.AddasciiRow("137", "‰", "‰", "‰");
ascii.AddasciiRow("138", "Š", "Š", "Š");
ascii.AddasciiRow("139", "‹", "‹", "‹");
ascii.AddasciiRow("140", "Œ", "Œ", "Œ");
ascii.AddasciiRow("141", "", "", "");
ascii.AddasciiRow("142", "Ž", "Ž", "");
ascii.AddasciiRow("143", "", "", "");
ascii.AddasciiRow("144", "", "", "");
ascii.AddasciiRow("145", "‘", "‘", "‘");
ascii.AddasciiRow("146", "’", "’", "’");
ascii.AddasciiRow("147", "“", "“", "“");
ascii.AddasciiRow("148", "”", "”", "”");
ascii.AddasciiRow("149", "•", "•", "•");
ascii.AddasciiRow("150", "–", "–", "–");
ascii.AddasciiRow("151", "—", "—", "—");
ascii.AddasciiRow("152", "˜", "˜", "˜");
ascii.AddasciiRow("153", "™", "™", "™");
ascii.AddasciiRow("154", "š", "š", "š");
ascii.AddasciiRow("155", "›", "›", "›");
ascii.AddasciiRow("156", "œ", "œ", "œ");
ascii.AddasciiRow("157", "", "", "");
ascii.AddasciiRow("158", "ž", "ž", "");
ascii.AddasciiRow("159", "Ÿ", "Ÿ", "ÿ");
ascii.AddasciiRow("160", "", " ", " ");
ascii.AddasciiRow("161", "¡", "¡", "¡");
ascii.AddasciiRow("162", "¢", "¢", "¢");
ascii.AddasciiRow("163", "£", "£", "£");
ascii.AddasciiRow("164", "¤", "¤", "¤");
ascii.AddasciiRow("165", "¥", "¥", "¥");
ascii.AddasciiRow("166", "¦", "¦", "¦");
ascii.AddasciiRow("167", "§", "§", "§");
ascii.AddasciiRow("168", "¨", "¨", "¨");
ascii.AddasciiRow("169", "©", "©", "©");
ascii.AddasciiRow("170", "ª", "ª", "ª");
ascii.AddasciiRow("171", "«", "«", "«");
ascii.AddasciiRow("172", "¬", "¬", "¬");
ascii.AddasciiRow("173", "", "­", "­");
ascii.AddasciiRow("174", "®", "®", "®");
ascii.AddasciiRow("175", "¯", "¯", "¯");
ascii.AddasciiRow("176", "°", "°", "°");
ascii.AddasciiRow("177", "±", "±", "±");
ascii.AddasciiRow("178", "²", "²", "²");
ascii.AddasciiRow("179", "³", "³", "³");
ascii.AddasciiRow("180", "´", "´", "´");
ascii.AddasciiRow("181", "µ", "µ", "µ");
ascii.AddasciiRow("182", "¶", "¶", "¶");
ascii.AddasciiRow("183", "·", "·", "·");
ascii.AddasciiRow("184", "¸", "¸", "¸");
ascii.AddasciiRow("185", "¹", "¹", "¹");
ascii.AddasciiRow("186", "º", "º", "º");
ascii.AddasciiRow("187", "»", "»", "»");
ascii.AddasciiRow("188", "¼", "¼", "¼");
ascii.AddasciiRow("189", "½", "½", "½");
ascii.AddasciiRow("190", "¾", "¾", "¾");
ascii.AddasciiRow("191", "¿", "¿", "¿");
ascii.AddasciiRow("192", "À", "À", "À");
ascii.AddasciiRow("193", "Á", "Á", "Á");
ascii.AddasciiRow("194", "Â", "Â", "Â");
ascii.AddasciiRow("195", "Ã", "Ã", "Ã");
ascii.AddasciiRow("196", "Ä", "Ä", "Ä");
ascii.AddasciiRow("197", "Å", "Å", "Å");
ascii.AddasciiRow("198", "Æ", "Æ", "Æ");
ascii.AddasciiRow("199", "Ç", "Ç", "Ç");
ascii.AddasciiRow("200", "È", "È", "È");
ascii.AddasciiRow("201", "É", "É", "É");
ascii.AddasciiRow("202", "Ê", "Ê", "Ê");
ascii.AddasciiRow("203", "Ë", "Ë", "Ë");
ascii.AddasciiRow("204", "Ì", "Ì", "Ì");
ascii.AddasciiRow("205", "Í", "Í", "Í");
ascii.AddasciiRow("206", "Î", "Î", "Î");
ascii.AddasciiRow("207", "Ï", "Ï", "Ï");
ascii.AddasciiRow("208", "Ð", "Ð", "Ð");
ascii.AddasciiRow("209", "Ñ", "Ñ", "Ñ");
ascii.AddasciiRow("210", "Ò", "Ò", "Ò");
ascii.AddasciiRow("211", "Ó", "Ó", "Ó");
ascii.AddasciiRow("212", "Ô", "Ô", "Ô");
ascii.AddasciiRow("213", "Õ", "Õ", "Õ");
ascii.AddasciiRow("214", "Ö", "Ö", "Ö");
ascii.AddasciiRow("215", "×", "×", "×");
ascii.AddasciiRow("216", "Ø", "Ø", "Ø");
ascii.AddasciiRow("217", "Ù", "Ù", "Ù");
ascii.AddasciiRow("218", "Ú", "Ú", "Ú");
ascii.AddasciiRow("219", "Û", "Û", "Û");
ascii.AddasciiRow("220", "Ü", "Ü", "Ü");
ascii.AddasciiRow("221", "Ý", "Ý", "Ý");
ascii.AddasciiRow("222", "Þ", "Þ", "Þ");
ascii.AddasciiRow("223", "ß", "ß", "ß");
ascii.AddasciiRow("224", "à", "à", "à");
ascii.AddasciiRow("225", "á", "á", "á");
ascii.AddasciiRow("226", "â", "â", "â");
ascii.AddasciiRow("227", "ã", "ã", "ã");
ascii.AddasciiRow("228", "ä", "ä", "ä");
ascii.AddasciiRow("229", "å", "å", "å");
ascii.AddasciiRow("230", "æ", "æ", "æ");
ascii.AddasciiRow("231", "ç", "ç", "ç");
ascii.AddasciiRow("232", "è", "è", "è");
ascii.AddasciiRow("233", "é", "é", "é");
ascii.AddasciiRow("234", "ê", "ê", "ê");
ascii.AddasciiRow("235", "ë", "ë", "ë");
ascii.AddasciiRow("236", "ì", "ì", "ì");
ascii.AddasciiRow("237", "í", "í", "í");
ascii.AddasciiRow("238", "î", "î", "î");
ascii.AddasciiRow("239", "ï", "ï", "ï");
ascii.AddasciiRow("240", "ð", "ð", "ð");
ascii.AddasciiRow("241", "ñ", "ñ", "ñ");
ascii.AddasciiRow("242", "ò", "ò", "ò");
ascii.AddasciiRow("243", "ó", "ó", "ó");
ascii.AddasciiRow("244", "ô", "ô", "ô");
ascii.AddasciiRow("245", "õ", "õ", "õ");
ascii.AddasciiRow("246", "ö", "ö", "ö");
ascii.AddasciiRow("247", "÷", "÷", "÷");
ascii.AddasciiRow("248", "ø", "ø", "ø");
ascii.AddasciiRow("249", "ù", "ù", "ù");
ascii.AddasciiRow("250", "ú", "ú", "ú");
ascii.AddasciiRow("251", "û", "û", "û");
ascii.AddasciiRow("252", "ü", "ü", "ü");
ascii.AddasciiRow("253", "ý", "ý", "ý");
ascii.AddasciiRow("254", "þ", "þ", "þ");
ascii.AddasciiRow("255", "ÿ", "ÿ", "ÿ");
return ascii;
}
No, but it's easy enough to write one...
Public Shared Function HtmlEncodeAll(ByVal Value As String) As String
Dim Builder As New StringBuilder()
For Each Chr As Char In Value
Builder.Append("&#")
Builder.Append(Convert.ToInt32(Chr))
Builder.Append(";")
Next
Return Builder.ToString()
End Function
精彩评论