网页中含有<>Html标记和文本.
如何替换文本中的空格 ->&nbsp;而不替换<>html标记中的空格求正则表达试?如:
str ="afdsafdsa a fdsafdasfsa<img src='' >fdsafdsa fsdafdsa fds<a href=''>fdsafdsa"结果:str ="afdsafdsa&nbsp;a&nbsp;fdsafdasfsa<img src='' >fdsafdsa&nbsp;fsdafdsa&nbsp;fds<a href=''>fdsafdsa"

解决方案 »

  1.   

    public string getIt(string srcStr)
    {
        char[] arr = srcStr.ToCharArray();
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        bool inHtml = false;
        for(int i=0;i<arr.Length;i++)
        {
            char c = arr[i];
            if(inHtml || c!=' ')
            {
                sb.Append(c);
            }
            else
            {
                sb.Append("&nbsp;");
            }
            if(c == '<')
            {
                inHtml=true;
            }
            else if(c == '>')
            {
                inHtml=false;
            }
        }
        return sb.ToString();
    }