最近经常见到有人问长英文不自动换行的问题,里面是我写的一个函数,供大家参考

参考|函数|问题

一段没有空格的长英文,系统会认为它是一个单词,为了保持单词的完整性不会自动换行。其实这种情况不处理也可以,因为在实际应用中除了测试或有人捣乱不会出现这种情况,不过为了以防万一吧,我几个月前写了下面这个函数,只是一种权宜之计,为了对付恶意破坏者。
  '-------------------------------------------------
'
'  function name: autowrap
'
'
'  description : 解决长英文不自动换行的问题
'
'  parameters :  a_strSourceString :要转换的源字符串
'
'                a_intSize , 每行宽度
'
'  author:       bigeagle
'
'  date :        2000/4/17
'
'  history:      2000/4/17 : version 1.0
'  
'-------------------------------------------------------
   function AutoWrap(a_strSourceString , a_intSize)
   
       dim l_strDestString
       
       '如果内容中有回车则退出
       'if instr(a_strSourceString , chr(13) + chr(10) ) <> 0 then
       '   AutoWrap = replace(a_strSourceString , chr(13) + chr(10) , "<br>")
       '   exit function
       'end if
          
       'check if valid parameters
       call assert(vartype(a_strSourceString) = 8 , "AutoWrap" , "a_strSourceString must be a string")
       call assert(vartype(a_intSize) = 2 , "AutoWrap" , "a_intSize must be a integer")
       
       
       dim i     
       if a_intSize >= len(a_strSourceString) then
          l_strDestString = a_strSourceString
       else
        '  l_strDestString = left(a_strSourceString , a_intSize)   
          for i = 1 to len(a_strSourceString) step a_intSize
              if instr( i , mid(a_strSourceString , i , a_intSize) , chr(32) ) = 0 _
                 or instr( i , mid(a_strSourceString , i , a_intSize) , chr(13)+chr(10) )then
                 l_strDestString = l_strDestString + " " +  mid (a_strSourceString , i + 1 , a_intSize)        
              else
                 l_strDestString = l_strDestString + mid(a_strSourceString , i + 1 , a_intSize)                 
              end if   
          next
       end if
       
       call print("[AutoWrap:]return value is : '" + l_strDestString + "'")
       l_strDestString = replace(l_strDestString , chr(13) + chr(10) , "<br>")
       AutoWrap =  l_strDestString
   end function

时间: 2024-12-24 11:42:11

最近经常见到有人问长英文不自动换行的问题,里面是我写的一个函数,供大家参考的相关文章

CSS:div 实现长英文字母自动换行CSS

自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,挺让人头疼,下面介绍的是CSS如何实现换行的方法 最佳CSS定义换行代码 .wrap { table-layout:fixed; word-break: break-all; overflow:hidden; } 这里 overflow:hidden;或者 auto: ================================================================= 对于div,p等块

div+CSS实现长英文字母自动换行

自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,挺让人头疼,下面介绍的是CSS如何实现换行的方法 最佳CSS定义换行代码 .wrap { table-layout:fixed; word-break: break-all; overflow:hidden; } 这里 overflow:hidden;或者 auto: ================================================================= 对于div,p等块

css中连续的英文不能自动换行解决办法

我们在页面中常会见到比如网址无法自动折断(如下图) 如果是汉字,则可以自动换行.如果是连续的英文或数字会被视为一个单词,即使达到最大宽度也不会自动折断,而是直接到换到下一行. 那么这里就可以使用word-break:break-all;来实现长英文自动折断(效果如下图). 如  代码如下 复制代码 :<p style="word-break:break-all;"></p> 最后总结一下 1.(IE浏览器)连续的英文字符和阿拉伯数字,使用word-wrap :

问题-刚开始学习java ,自己写了一个聊天小程序,没报错但是有毛病,希望能帮忙问一下

问题描述 刚开始学习java ,自己写了一个聊天小程序,没报错但是有毛病,希望能帮忙问一下 刚开始学习java ,自己写了一个聊天小程序,没有报任何错误.测试时打开3个聊天小窗口 A,B,C,在A中输入文字,只在B中显示出来了,而且显示出了三句相同语句.查了好几个小时都没有查出来,希望高手能帮帮忙,看看是怎么回事,并且告诉我是通过什么方法找出来的. 以下是客户端和服务器端代码 客户端: import java.awt.*; import java.awt.event.*; import java

控件-C#实现英文整句翻译,请问代码怎么写?

问题描述 C#实现英文整句翻译,请问代码怎么写? C#实现英文整句翻译,请问代码怎么写?可以调用控件,可以使用在线程序,但是要高质量,最好能给出具体代码,因为我是新手 解决方案 http://blog.csdn.net/apollokk/article/details/9341463 解决方案二: http://tech.ddvip.com/2011-11/1321509098169886.html

struct-新人求问,C#调用C++dll,C++函数中有NULL参数,我转换到C#该怎么改。。

问题描述 新人求问,C#调用C++dll,C++函数中有NULL参数,我转换到C#该怎么改.. 最近调用C++dll,各种问题,烦死了都要..求各位帮助..C++DEVICE_ID APICALL NSSTCreateDevice( NsstDevice* device AppProxy* proxy); 其中NsstDevice和 AppProxy是结构,调用时这样的:**DEVICE_ID id = NSSTCreateDevice(&deviceNULL);** 今天花了好大功夫转换了C#

在服务器上部署了一个OnlyOffice运行后在打开的文档区域中只能输入英文,不能切换到中文输入怎么回事?打开一个中文的Word显示出来是乱码怎么解决这些问题?

问题描述 在服务器上部署了一个OnlyOffice运行后在打开的文档区域中只能输入英文,不能切换到中文输入怎么回事?打开一个中文的Word显示出来是乱码怎么解决这些问题?有谁使用过或者解决过这样的问题?不知道.NET大婶是否解决过的问题?实在是干不动了!求分享. 解决方案 解决方案二:是没有中文字典的问题!有谁解决过这个问题码?

c-动态规划求最长公共子序列,存在多个解时只能输出一个。

问题描述 动态规划求最长公共子序列,存在多个解时只能输出一个. //求取所有的最长公共子序列 不知道代码哪里写错了,也只有一个币能悬赏,希望有空的大神们帮忙看看,纠结好久了不知道怎么改. #include using namespace std; const int X=100, Y= 100; //串的最大长度 char result[X+1]; //用于保存结果 int count= 0; //用于保存公共最长公共子串的个数 /*功能:计算最优值 *参数: x:字符串x y:字符串y b:标

js实现连续英文字符自动换行兼容ie6 ie7和firefox_javascript技巧

复制代码 代码如下: irefox中连续英文字符如果要CSS控制强制换行,探索了N久,发现是实现不了的逼不得已的时候就用js脚本进行控制吧 英文字符自动换行,通过js脚本截断字符串,此方法通用ie6,ie7,firefox兼容解决办法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd