我用的是fckeditor编辑器写入的数据,现在遇到的一个问题是我想在网页上只显示部分内容(3行,剩下的用……代替),由于数据是html格式的,所以没法用长度来判断,请教各位大侠如何能做到我想要的效果呢?

解决方案 »

  1.   

    先用正则过滤掉<>的内容,然后就会只剩下文本了,然后再判断字数就行了
      

  2.   

    哦,好象这样也不行哈,不过可以这样,后台不能判断,但是前台可以,用脚本来判断,因为fck的文本输出到前台的时候,已经被html编码了
      

  3.   

    js里面做
    window.onload = function() {
       ......        
    };
      

  4.   

    我还用了Repeater控件输出多个数据,如果用js判断貌似也很难,碰到有图片的就更惨了……
      

  5.   

    可以把<>标签循环给删掉,显示三行的字出来,只是这样比较费时间
      

  6.   


    //这个可以所有去掉HTML标签
    string str = FCKeditor1.Value;
    str = System.Text.RegularExpressions.Regex.Replace(str, "<.*?>", "");
    Response.Write(str);
    //str 就是已经去掉格式后纯文本了
    //然后你可以判断长度,看怎么截取
      

  7.   

    我前阵子也做了一个同样的
    给你代码int num=30
    string content = FCKeditor1.Value;
    content = Regex.Replace(content, "<[^>]+>", "");
    if (content.Length > num)
    {
        content = content.Substring(0, num) + "......";
    }
    return content;自己做个方法参数是int类型的num
      

  8.   

    num里面的字数你自己去算 我就设了30个
    因为我是左右2部分的
    30个就已经能显示4行了