我要电子邮件地址转换成HTML转义字符转换为基本途径,以尽量避免被垃圾邮件机器人正在收获。像在这个问题提到:

  

当放置电子邮件地址上的   网页你把他们像文本   这样:

joe.somebody@company.com
     

,或使用一个聪明的特技,试图愚弄   电子邮件地址收割机漫游?对于   例如:

     

<强> HTML转义字符:

&#106;&#111;&#101;&#46;&#115;&#111;&#109;&#101;&#98;&#111;&#100;&#121;&#64;&#99;&#111;&#109;&#112;&#97;&#110;&#121;&#46;&#99;&#111;&#109;

我无法找到一个.NET方法这样做虽然。该了Html.Encode只做无效的HTML字符,如£$%^&,而不是字母。

难道一个方法存在,或者我需要写我自己?

非常感谢

有帮助吗?

解决方案

我不知道的包含在框架什么,但你可以尝试这样的事情?

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();
}

其他提示

我想你可以使用

HttpUtility.HtmlEncode

也在这里看到: http://msdn.microsoft.com/en-us/library/73z22y6h。 ASPX

   public   static asciitable getascii()
    {
        asciitable ascii = new asciitable ();
        ascii.AddasciiRow("0", "NUL", "&#000;", "");
        ascii.AddasciiRow("1", "SOH", "&#001;", "");
        ascii.AddasciiRow("2", "STX", "&#002;", "");
        ascii.AddasciiRow("3", "ETX", "&#003;", "");
        ascii.AddasciiRow("4", "EOT", "&#004;", "");
        ascii.AddasciiRow("5", "ENQ", "&#005;", "");
        ascii.AddasciiRow("6", "ACK", "&#006;", "");
        ascii.AddasciiRow("7", "BEL", "&#007;", "");
        ascii.AddasciiRow("8", "BS", "&#008;", "");
        ascii.AddasciiRow("9", "HT", "&#009;", "");
        ascii.AddasciiRow("10", "LF", "&#010;", "");
        ascii.AddasciiRow("11", "VT", "&#011;", "");
        ascii.AddasciiRow("12", "FF", "&#012;", "");
        ascii.AddasciiRow("13", "CR", "&#013;", "");
        ascii.AddasciiRow("14", "SO", "&#014;", "");
        ascii.AddasciiRow("15", "SI", "&#015;", "");
        ascii.AddasciiRow("16", "DLE", "&#016;", "");
        ascii.AddasciiRow("17", "DC1", "&#017;", "");
        ascii.AddasciiRow("18", "DC2", "&#018;", "");
        ascii.AddasciiRow("19", "DC3", "&#019;", "");
        ascii.AddasciiRow("20", "DC4", "&#020;", "");
        ascii.AddasciiRow("21", "NAK", "&#021;", "");
        ascii.AddasciiRow("22", "SYN", "&#022;", "");
        ascii.AddasciiRow("23", "ETB", "&#023;", "");
        ascii.AddasciiRow("24", "CAN", "&#024;", "");
        ascii.AddasciiRow("25", "EM", "&#025;", "");
        ascii.AddasciiRow("26", "SUB", "&#026;", "");
        ascii.AddasciiRow("27", "ESC", "&#027;", "");
        ascii.AddasciiRow("28", "FS", "&#028;", "");
        ascii.AddasciiRow("29", "GS", "&#029;", "");
        ascii.AddasciiRow("30", "RS", "&#030;", "");
        ascii.AddasciiRow("31", "US", "&#031;", "");
        ascii.AddasciiRow("32", " ", "&#32;", " ");
        ascii.AddasciiRow("33", "!", "&#33;", "!");
        ascii.AddasciiRow("34", Convert.ToChar(34).ToString(), "&#34;", "&quot;");
        ascii.AddasciiRow("35", "#", "&#35;", "#");
        ascii.AddasciiRow("36", "$", "&#36;", "$");
        ascii.AddasciiRow("37", "%", "&#37;", "%");
        ascii.AddasciiRow("38", "&", "&#38;", "&amp;");
        ascii.AddasciiRow("39", "'", "&#39;", "'");
        ascii.AddasciiRow("40", "(", "&#40;", "(");
        ascii.AddasciiRow("41", ")", "&#41;", ")");
        ascii.AddasciiRow("42", "*", "&#42;", "*");
        ascii.AddasciiRow("43", "+", "&#43;", "+");
        ascii.AddasciiRow("44", ",", "&#44;", ",");
        ascii.AddasciiRow("45", "-", "&#45;", "-");
        ascii.AddasciiRow("46", ".", "&#46;", ".");
        ascii.AddasciiRow("47", "/", "&#47;", "/");
        ascii.AddasciiRow("48", "0", "&#48;", "0");
        ascii.AddasciiRow("49", "1", "&#49;", "1");
        ascii.AddasciiRow("50", "2", "&#50;", "2");
        ascii.AddasciiRow("51", "3", "&#51;", "3");
        ascii.AddasciiRow("52", "4", "&#52;", "4");
        ascii.AddasciiRow("53", "5", "&#53;", "5");
        ascii.AddasciiRow("54", "6", "&#54;", "6");
        ascii.AddasciiRow("55", "7", "&#55;", "7");
        ascii.AddasciiRow("56", "8", "&#56;", "8");
        ascii.AddasciiRow("57", "9", "&#57;", "9");
        ascii.AddasciiRow("58", ":", "&#58;", ":");
        ascii.AddasciiRow("59", ";", "&#59;", ";");
        //ascii.AddasciiRow("60", "<", "&#60;", "&lt;");
        ascii.AddasciiRow("60", "<", "&#60;", "<");
        ascii.AddasciiRow("61", "=", "&#61;", "=");
        //ascii.AddasciiRow("62", ">", "&#62;", "&gt;");
        ascii.AddasciiRow("62", ">", "&#62;", ">");
        ascii.AddasciiRow("63", "?", "&#63;", "?");
        ascii.AddasciiRow("64", "@", "&#64;", "@");
        ascii.AddasciiRow("65", "A", "&#65;", "A");
        ascii.AddasciiRow("66", "B", "&#66;", "B");
        ascii.AddasciiRow("67", "C", "&#67;", "C");
        ascii.AddasciiRow("68", "D", "&#68;", "D");
        ascii.AddasciiRow("69", "E", "&#69;", "E");
        ascii.AddasciiRow("70", "F", "&#70;", "F");
        ascii.AddasciiRow("71", "G", "&#71;", "G");
        ascii.AddasciiRow("72", "H", "&#72;", "H");
        ascii.AddasciiRow("73", "I", "&#73;", "I");
        ascii.AddasciiRow("74", "J", "&#74;", "J");
        ascii.AddasciiRow("75", "K", "&#75;", "K");
        ascii.AddasciiRow("76", "L", "&#76;", "L");
        ascii.AddasciiRow("77", "M", "&#77;", "M");
        ascii.AddasciiRow("78", "N", "&#78;", "N");
        ascii.AddasciiRow("79", "O", "&#79;", "O");
        ascii.AddasciiRow("80", "P", "&#80;", "P");
        ascii.AddasciiRow("81", "Q", "&#81;", "Q");
        ascii.AddasciiRow("82", "R", "&#82;", "R");
        ascii.AddasciiRow("83", "S", "&#83;", "S");
        ascii.AddasciiRow("84", "T", "&#84;", "T");
        ascii.AddasciiRow("85", "U", "&#85;", "U");
        ascii.AddasciiRow("86", "V", "&#86;", "V");
        ascii.AddasciiRow("87", "W", "&#87;", "W");
        ascii.AddasciiRow("88", "X", "&#88;", "X");
        ascii.AddasciiRow("89", "Y", "&#89;", "Y");
        ascii.AddasciiRow("90", "Z", "&#90;", "Z");
        ascii.AddasciiRow("91", "[", "&#91;", "[");
        ascii.AddasciiRow("92", @"\", "&#92;", @"\");
        ascii.AddasciiRow("93", "]", "&#93;", "]");
        ascii.AddasciiRow("94", "^", "&#94;", "^");
        ascii.AddasciiRow("95", "_", "&#95;", "_");
        ascii.AddasciiRow("96", "`", "&#96;", "`");
        ascii.AddasciiRow("97", "a", "&#97;", "a");
        ascii.AddasciiRow("98", "b", "&#98;", "b");
        ascii.AddasciiRow("99", "c", "&#99;", "c");
        ascii.AddasciiRow("100", "d", "&#100;", "d");
        ascii.AddasciiRow("101", "e", "&#101;", "e");
        ascii.AddasciiRow("102", "f", "&#102;", "f");
        ascii.AddasciiRow("103", "g", "&#103;", "g");
        ascii.AddasciiRow("104", "h", "&#104;", "h");
        ascii.AddasciiRow("105", "i", "&#105;", "i");
        ascii.AddasciiRow("106", "j", "&#106;", "j");
        ascii.AddasciiRow("107", "k", "&#107;", "k");
        ascii.AddasciiRow("108", "l", "&#108;", "l");
        ascii.AddasciiRow("109", "m", "&#109;", "m");
        ascii.AddasciiRow("110", "n", "&#110;", "n");
        ascii.AddasciiRow("111", "o", "&#111;", "o");
        ascii.AddasciiRow("112", "p", "&#112;", "p");
        ascii.AddasciiRow("113", "q", "&#113;", "q");
        ascii.AddasciiRow("114", "r", "&#114;", "r");
        ascii.AddasciiRow("115", "s", "&#115;", "s");
        ascii.AddasciiRow("116", "t", "&#116;", "t");
        ascii.AddasciiRow("117", "u", "&#117;", "u");
        ascii.AddasciiRow("118", "v", "&#118;", "v");
        ascii.AddasciiRow("119", "w", "&#119;", "w");
        ascii.AddasciiRow("120", "x", "&#120;", "x");
        ascii.AddasciiRow("121", "y", "&#121;", "y");
        ascii.AddasciiRow("122", "z", "&#122;", "z");
        ascii.AddasciiRow("123", "{", "&#123;", "{");
        ascii.AddasciiRow("124", "|", "&#124;", "|");
        ascii.AddasciiRow("125", "}", "&#125;", "}");
        ascii.AddasciiRow("126", "~", "&#126;", "~");
        ascii.AddasciiRow("127", "", "&#127;", "");
        ascii.AddasciiRow("128", "€", "&#128;", "&euro;");
        ascii.AddasciiRow("129", "", "", "");
        ascii.AddasciiRow("130", "‚", "&#130;", "&sbquo;");
        ascii.AddasciiRow("131", "ƒ", "&#131;", "&fnof;");
        ascii.AddasciiRow("132", "„", "&#132;", "&bdquo;");
        ascii.AddasciiRow("133", "…", "&#133;", "&hellip;");
        ascii.AddasciiRow("134", "†", "&#134;", "&dagger;");
        ascii.AddasciiRow("135", "‡", "&#135;", "&Dagger;");
        ascii.AddasciiRow("136", "ˆ", "&#136;", "&circ;");
        ascii.AddasciiRow("137", "‰", "&#137;", "&permil;");
        ascii.AddasciiRow("138", "Š", "&#138;", "&Scaron;");
        ascii.AddasciiRow("139", "‹", "&#139;", "&lsaquo;");
        ascii.AddasciiRow("140", "Œ", "&#140;", "&OElig;");
        ascii.AddasciiRow("141", "", "", "");
        ascii.AddasciiRow("142", "Ž", "&#142;", "");
        ascii.AddasciiRow("143", "", "", "");
        ascii.AddasciiRow("144", "", "", "");
        ascii.AddasciiRow("145", "‘", "&#145;", "&lsquo;");
        ascii.AddasciiRow("146", "’", "&#146;", "&rsquo;");
        ascii.AddasciiRow("147", "“", "&#147;", "&ldquo;");
        ascii.AddasciiRow("148", "”", "&#148;", "&rdquo;");
        ascii.AddasciiRow("149", "•", "&#149;", "&bull;");
        ascii.AddasciiRow("150", "–", "&#150;", "&ndash;");
        ascii.AddasciiRow("151", "—", "&#151;", "&mdash;");
        ascii.AddasciiRow("152", "˜", "&#152;", "&tilde;");
        ascii.AddasciiRow("153", "™", "&#153;", "&trade;");
        ascii.AddasciiRow("154", "š", "&#154;", "&scaron;");
        ascii.AddasciiRow("155", "›", "&#155;", "&rsaquo;");
        ascii.AddasciiRow("156", "œ", "&#156;", "&oelig;");
        ascii.AddasciiRow("157", "", "", "");
        ascii.AddasciiRow("158", "ž", "&#158;", "");
        ascii.AddasciiRow("159", "Ÿ", "&#159;", "&yuml;");
        ascii.AddasciiRow("160", "", "&#160;", "&nbsp;");
        ascii.AddasciiRow("161", "¡", "&#161;", "&iexcl;");
        ascii.AddasciiRow("162", "¢", "&#162;", "&cent;");
        ascii.AddasciiRow("163", "£", "&#163;", "&pound;");
        ascii.AddasciiRow("164", "¤", "&#164;", "&curren;");
        ascii.AddasciiRow("165", "¥", "&#165;", "&yen;");
        ascii.AddasciiRow("166", "¦", "&#166;", "&brvbar;");
        ascii.AddasciiRow("167", "§", "&#167;", "&sect;");
        ascii.AddasciiRow("168", "¨", "&#168;", "&uml;");
        ascii.AddasciiRow("169", "©", "&#169;", "&copy;");
        ascii.AddasciiRow("170", "ª", "&#170;", "&ordf;");
        ascii.AddasciiRow("171", "«", "&#171;", "&laquo;");
        ascii.AddasciiRow("172", "¬", "&#172;", "&not;");
        ascii.AddasciiRow("173", "", "&#173;", "&shy;");
        ascii.AddasciiRow("174", "®", "&#174;", "&reg;");
        ascii.AddasciiRow("175", "¯", "&#175;", "&macr;");
        ascii.AddasciiRow("176", "°", "&#176;", "&deg;");
        ascii.AddasciiRow("177", "±", "&#177;", "&plusmn;");
        ascii.AddasciiRow("178", "²", "&#178;", "&sup2;");
        ascii.AddasciiRow("179", "³", "&#179;", "&sup3;");
        ascii.AddasciiRow("180", "´", "&#180;", "&acute;");
        ascii.AddasciiRow("181", "µ", "&#181;", "&micro;");
        ascii.AddasciiRow("182", "¶", "&#182;", "&para;");
        ascii.AddasciiRow("183", "·", "&#183;", "&middot;");
        ascii.AddasciiRow("184", "¸", "&#184;", "&cedil;");
        ascii.AddasciiRow("185", "¹", "&#185;", "&sup1;");
        ascii.AddasciiRow("186", "º", "&#186;", "&ordm;");
        ascii.AddasciiRow("187", "»", "&#187;", "&raquo;");
        ascii.AddasciiRow("188", "¼", "&#188;", "&frac14;");
        ascii.AddasciiRow("189", "½", "&#189;", "&frac12;");
        ascii.AddasciiRow("190", "¾", "&#190;", "&frac34;");
        ascii.AddasciiRow("191", "¿", "&#191;", "&iquest;");
        ascii.AddasciiRow("192", "À", "&#192;", "&Agrave;");
        ascii.AddasciiRow("193", "Á", "&#193;", "&Aacute;");
        ascii.AddasciiRow("194", "Â", "&#194;", "&Acirc;");
        ascii.AddasciiRow("195", "Ã", "&#195;", "&Atilde;");
        ascii.AddasciiRow("196", "Ä", "&#196;", "&Auml;");
        ascii.AddasciiRow("197", "Å", "&#197;", "&Aring;");
        ascii.AddasciiRow("198", "Æ", "&#198;", "&AElig;");
        ascii.AddasciiRow("199", "Ç", "&#199;", "&Ccedil;");
        ascii.AddasciiRow("200", "È", "&#200;", "&Egrave;");
        ascii.AddasciiRow("201", "É", "&#201;", "&Eacute;");
        ascii.AddasciiRow("202", "Ê", "&#202;", "&Ecirc;");
        ascii.AddasciiRow("203", "Ë", "&#203;", "&Euml;");
        ascii.AddasciiRow("204", "Ì", "&#204;", "&Igrave;");
        ascii.AddasciiRow("205", "Í", "&#205;", "&Iacute;");
        ascii.AddasciiRow("206", "Î", "&#206;", "&Icirc;");
        ascii.AddasciiRow("207", "Ï", "&#207;", "&Iuml;");
        ascii.AddasciiRow("208", "Ð", "&#208;", "&ETH;");
        ascii.AddasciiRow("209", "Ñ", "&#209;", "&Ntilde;");
        ascii.AddasciiRow("210", "Ò", "&#210;", "&Ograve;");
        ascii.AddasciiRow("211", "Ó", "&#211;", "&Oacute;");
        ascii.AddasciiRow("212", "Ô", "&#212;", "&Ocirc;");
        ascii.AddasciiRow("213", "Õ", "&#213;", "&Otilde;");
        ascii.AddasciiRow("214", "Ö", "&#214;", "&Ouml;");
        ascii.AddasciiRow("215", "×", "&#215;", "&times;");
        ascii.AddasciiRow("216", "Ø", "&#216;", "&Oslash;");
        ascii.AddasciiRow("217", "Ù", "&#217;", "&Ugrave;");
        ascii.AddasciiRow("218", "Ú", "&#218;", "&Uacute;");
        ascii.AddasciiRow("219", "Û", "&#219;", "&Ucirc;");
        ascii.AddasciiRow("220", "Ü", "&#220;", "&Uuml;");
        ascii.AddasciiRow("221", "Ý", "&#221;", "&Yacute;");
        ascii.AddasciiRow("222", "Þ", "&#222;", "&THORN;");
        ascii.AddasciiRow("223", "ß", "&#223;", "&szlig;");
        ascii.AddasciiRow("224", "à", "&#224;", "&agrave;");
        ascii.AddasciiRow("225", "á", "&#225;", "&aacute;");
        ascii.AddasciiRow("226", "â", "&#226;", "&acirc;");
        ascii.AddasciiRow("227", "ã", "&#227;", "&atilde;");
        ascii.AddasciiRow("228", "ä", "&#228;", "&auml;");
        ascii.AddasciiRow("229", "å", "&#229;", "&aring;");
        ascii.AddasciiRow("230", "æ", "&#230;", "&aelig;");
        ascii.AddasciiRow("231", "ç", "&#231;", "&ccedil;");
        ascii.AddasciiRow("232", "è", "&#232;", "&egrave;");
        ascii.AddasciiRow("233", "é", "&#233;", "&eacute;");
        ascii.AddasciiRow("234", "ê", "&#234;", "&ecirc;");
        ascii.AddasciiRow("235", "ë", "&#235;", "&euml;");
        ascii.AddasciiRow("236", "ì", "&#236;", "&igrave;");
        ascii.AddasciiRow("237", "í", "&#237;", "&iacute;");
        ascii.AddasciiRow("238", "î", "&#238;", "&icirc;");
        ascii.AddasciiRow("239", "ï", "&#239;", "&iuml;");
        ascii.AddasciiRow("240", "ð", "&#240;", "&eth;");
        ascii.AddasciiRow("241", "ñ", "&#241;", "&ntilde;");
        ascii.AddasciiRow("242", "ò", "&#242;", "&ograve;");
        ascii.AddasciiRow("243", "ó", "&#243;", "&oacute;");
        ascii.AddasciiRow("244", "ô", "&#244;", "&ocirc;");
        ascii.AddasciiRow("245", "õ", "&#245;", "&otilde;");
        ascii.AddasciiRow("246", "ö", "&#246;", "&ouml;");
        ascii.AddasciiRow("247", "÷", "&#247;", "&divide;");
        ascii.AddasciiRow("248", "ø", "&#248;", "&oslash;");
        ascii.AddasciiRow("249", "ù", "&#249;", "&ugrave;");
        ascii.AddasciiRow("250", "ú", "&#250;", "&uacute;");
        ascii.AddasciiRow("251", "û", "&#251;", "&ucirc;");
        ascii.AddasciiRow("252", "ü", "&#252;", "&uuml;");
        ascii.AddasciiRow("253", "ý", "&#253;", "&yacute;");
        ascii.AddasciiRow("254", "þ", "&#254;", "&thorn;");
        ascii.AddasciiRow("255", "ÿ", "&#255;", "&yuml;");

        return ascii;
    }

没有,但它是很容易写一个...

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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top