惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - skylai

mvc3 小技巧 WCF学习之旅(一)---Hello World. WCF Client configuration Jquery表单验证 Jquery的一些常用信息 二进制、SOAP的序列化及反序列化 简单的Attribute实现. 泛型之泛型约束 C#泛型之泛型委托 C#2.0泛型介绍之简单泛型类。 序列化之XML序列化(一) Vs2005的win form动态生成菜单 js操作xml 读写XML文件 js的一些杂谈 一个button同时执行多个有返回值的函数的解决方法(return false; or return true;) DataGrid里应用radio单选按钮 限制字符输入(ASCII 码) 前两天刚看书看到的,来这里跟大家分享一下有关C#处理指令的问题
强制字符换行CSS版和C#版
skylai · 2006-08-11 · via 博客园 - skylai

强制字符换行。
style="word-break:break-all;word-wrap:break-word";
C#版:


        
//oldString:要换行的字符串,width:每行的字符宽度(字符个数),tolerance:最长的单词长度,以免单词被从中截断
        
//spanWidth,每一行的宽度
        public static String GetMutilLineString(String oldString, Int32 width, Int32 tolerance, Int32 spanWidth)
        
{
            
if (oldString == null)
            
{
                
return null;
            }

            
if (oldString.Trim() == String.Empty)
            
{
                
return String.Empty;
            }

            
if (width <= 1)
            
{
                width 
= 150;
            }

            Int32 iIndex 
= 0;
            Int32 iFindLen 
= 0;
            String strUnit 
= String.Empty;
            String strFind 
= String.Empty;
            String strReturn 
= String.Empty;
            String strTemp 
= String.Empty;
            Int32 iTolerance 
= (tolerance > 0? tolerance : 8;
            Int32 iTempIndex 
= -1;
            
while (oldString.Length > width + iTolerance)
            
{
                iFindLen 
= 2 * iTolerance;
                strFind 
= oldString.Substring(width - iTolerance, iFindLen);

                iIndex 
= strFind.LastIndexOf(",", iFindLen - 1);
                
if (iIndex == -1)
                
{
                    iIndex 
= strFind.LastIndexOf("'", iFindLen - 1);
                }

                
if (iIndex == -1)
                
{
                    iIndex 
= strFind.LastIndexOf(";", iFindLen - 1);
                }

                
if (iIndex == -1)
                
{
                    iIndex 
= strFind.LastIndexOf(".", iFindLen - 1);
                }

                
if (iIndex == -1)
                
{
                    iIndex 
= strFind.LastIndexOf(" ", iFindLen - 1);
                }

                
if (iIndex == -1)
                
{
                    iIndex 
= strFind.LastIndexOf("_", iFindLen - 1);
                }

                
if (iIndex == -1)
                
{
                    iIndex 
= strFind.LastIndexOf("-", iFindLen - 1);
                }

                
if (iIndex == -1)
                
{
                    strUnit 
= oldString.Substring(0, width);
                    oldString 
= oldString.Remove(0, width);
                }

                
else
                
{
                    strUnit 
= oldString.Substring(0, width - iTolerance + iIndex + 1);
                    oldString 
= oldString.Remove(0, width - iTolerance + iIndex + 1);
                }

                
while (strUnit.IndexOf("\r\n"> -1)
                
{
                    iTempIndex 
= strUnit.IndexOf("\r\n");
                    strTemp 
= strUnit.Substring(0, iTempIndex);
                    strReturn 
+= String.Format("<tr width={0} style='word-wrap:break-word'><td>{1}</td></tr>", spanWidth, strTemp);
                    strUnit 
= strUnit.Remove(0, iTempIndex + 2);
                }


                strReturn 
+= String.Format("<tr width={0} style='word-wrap:break-word'><td>{1}</td></tr>", spanWidth, strUnit);
            }

            
while (oldString.IndexOf("\r\n"> -1)
            
{
                iTempIndex 
= oldString.IndexOf("\r\n");
                strTemp 
= oldString.Substring(0, iTempIndex);
                strReturn 
+= String.Format("<tr width={0} style='word-wrap:break-word'><td>{1}</td></tr>", spanWidth, strTemp);
                oldString 
= oldString.Remove(0, iTempIndex + 2);
            }

            strReturn 
+= String.Format("<tr width={0} style='word-wrap:break-word'><td>{1}</td></tr>", spanWidth, oldString);

            strReturn 
= String.Format("<table>{0}</table>",strReturn);

            
return strReturn;
        }