首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • php转化为VbScript, 急..今晚有效. [已结贴,结贴人:hrjhrj123]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 20:03:19 楼主
    function max_long_str($str1,$str2) 
        { 
            $s_str=strlen($str1)  <=strlen($str2)?$str1:$str2;//判断长短,用短的字串折半 
            $l_str=strlen($str1)  <=strlen($str2)?$str2:$str1;//折半后和长的字串来比较查找     
            for($j=strlen($s_str);$j>1;$j=ceil($j/2)) {//二分循环 
            for($i=0;$i  <strlen($s_str)-$j+1;$i++) 
            {//对折半后长度的字串依次比较 
                $temp=substr($s_str,$i,$j); 
                if(($pos=strpos($l_str,$temp))!==FALSE) 
                { 
                    if((($pos-$b_pos)==1) ¦ ¦!isset($b_pos)) 
                    { 
                        $str[$n]=substr_replace($str[$n],$temp,$k);//合并相邻 
                        $k++; 
                        $b_pos=$pos; 
                    }else 


                    { 
                        $k=0;$n++;unset($b_pos); 
                    } 
                }else{$k=0;$n++;unset($b_pos);}; 
            } 
            if(isset($str)) 
            {//有符合则不必再折半 
                break; 
            } 
        } 
        if(count($str)>=1) {//取长的 
            foreach($str as $value){ 
                    $strr=strlen($value)>=strlen($strr)?$value:$strr; 
                } 
        }     
        return $strr; 
     


    将以上代码转化为VbScript或ASP也可以...............................
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 21:22:461楼 得分:100
    Function max_long_str(str1,str2) 
    If len(str1) <= len(str2) Then
    s_str = str1
    l_str = str2
    Else
    s_str = str2
    l_str = str1
    End If
    j = len(s_str)
    Do While j > 1
    j = round(j/2+0.5)
    For i=0 To len(s_str)-j+1
    temp = Mid(s_str,i+1,j)
    If Not IsNull(Instr(l_str,temp)) And Instr(l_str,temp) > 0 Then
    If((instr(l_str,temp)-b_pos=1) or not isnull(b_pos)) Then
    str(n) = mid(str(n),1,k) & temp & mid(str(n),k)
    k = k+1
    b_pos = instr(l_str,temp)
      Else
      k = 0
      n = n+1
      End If
      Else
      k=0
      n = n + 1
    End if
    if isnull(str) Then
    exit for
    End if
    i = i +1
    Next
    Loop
    If ubound(str) > 1 Then
    for i = 0 to ubound(str)
    If len(str(i)) >= len(strr) Then
    strr = str(i)
    Else
    strr = strr
    End If
    Next
    End If
    max_long_str = strr
    End Function
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-21 17:12:492楼 得分:0
    请问1楼的对吗??
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yifanwu
    • 等级:
    发表于:2008-05-21 20:03:333楼 得分:0
    看来已经无效了
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved