• 当前位置:首页>>ASP教程>>ASP问题解答>>最近经常见到有人问长英文不自动换行的问题,里面是我写的一个函数,供大家参考
  • 最近经常见到有人问长英文不自动换行的问题,里面是我写的一个函数,供大家参考
  • 一段没有空格的长英文,系统会认为它是一个单词,为了保持单词的完整性不会自动换行。其实这种情况不处理也可以,因为在实际应用中除了测试或有人捣乱不会出现这种情况,不过为了以防万一吧,我几个月前写了下面这个函数,只是一种权宜之计,为了对付恶意破坏者。

      '-------------------------------------------------
    '
    '  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
  • 上一篇:呵呵,恭喜本人灌破1000分大关,加贴热点一贴---关于ASP程序中日期型数据的格式问题探讨(转贴)
    下一篇:又一种在线人数统计方法(只用1个APPLICATION,原创)