zoukankan      html  css  js  c++  java
  • 转义字符 显示形式 转换成 实际形式 \\n to \n

    类1

    public class EscapeCharacterEntities
    {
        private static object _lookupLocker = new object();
        private static string[] _entitiesList = new string[]
        {
            "\n-n"
            "\r-r",
            "\t-t"
            "\f-f",           
            "\v-v" 
        };
        private static Hashtable _entitiesLoopupTable;
        private EscapeCharacterEntities() { }
        public static char Lookup(string entity)
        {
            if (_entitiesLoopupTable == null)
            {
                lock (_lookupLocker)
                {
                    if (_entitiesLoopupTable == null)
                    {
                        Hashtable curTable = new Hashtable();
                        foreach (string item in _entitiesList)
                        {
                            curTable[item.Substring(2)] = item[0];
                        }
                        _entitiesLoopupTable = curTable;
                    }
                }
            }
            object obj = _entitiesLoopupTable[entity];

            return obj == null ? (char)0 : (char)obj;
        }
    }

    转换方法

    public static string EscapeCharacterFormat(string input)
    {
        StringBuilder builder = new StringBuilder();
        StringWriter writer = new StringWriter(builder);
        int l = input.Length;
        int maxIndex = l - 1;
        for (int i = 0; i < l; i++)
        {
            char ch = input[i];
            if (ch == '\\' && i < maxIndex)
            {
                char ch2 = input[i + 1];
                char curchar = EscapeCharacterEntities.Lookup(ch2.ToString());
                if (curchar != (char)0)
                {
                    writer.Write(curchar);
                    i++;
                    continue;
                }
            }
            writer.Write(ch);
        }
        return builder.ToString();
    }
  • 相关阅读:
    对discuz的代码分析学习————首页文件(转自陈)
    详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI区别
    discuz入口文件index.php的思想分析
    Discuz X3.2源码解析 $_G变量
    Discuz X3.2源码解析 论坛模块(forum.php)转自百度
    Discuz X3.2源码解析 discuz_application类(转自百度)
    discuz代码解析(初始化应用的过程)
    Discuz 整体架构及内核浅析二:内核功能(For DzX3.2)
    discuz二次开发笔记(一)------$_G全解析,discuz_g_PHP教程
    discuz 3.2之class_core.php解析
  • 原文地址:https://www.cnblogs.com/yelaiju/p/2727237.html
Copyright © 2011-2022 走看看