处理HTML代码的若干函数

时间:2009-08-21 13:21:00 

经过了上个星期的努力学习,对处理html又有了新的发现

感觉真的很不错

可以说js的威力在处理html代码方面我又有所领悟了

1、截取特定长度字符串


    Public Shared Function CutString1(ByVal str As String, ByVal length As Integer) As String


        Dim i As Integer = 0
        Dim j As Integer = 0
        For Each chr As Char In str
            If Asc(chr) > 127 Then
                i = i + 2
            Else
                i += 1
                If (i > length) Then
                    str = str.Substring(0, j) + ""
                    Exit For
                End If
            End If
            j += 1
        Next
        Return str

    End Function

2、在在textarea(textbox里面的textmode为dul),对其输入的字符转换成html格式

Public Function HtmlEncode()(ByVal str As String) As String
        Dim L As Integer
        Dim result As String
        If str = "" Then
            Return ""
        End If
        L = Len(str)
        Dim i As Integer
        For i = 1 To L
            Select Case Mid(str, i, 1)
                Case Chr(13)
                    result = result + "<br>"
                Case Chr(34)
                    result = result + "&quot;"
                Case Chr(32)
                    'result=result+"&nbsp;"
                    If i + 1 <= L And i - 1 > 0 Then
                        If Mid(str, i + 1, 1) = Chr(32) Or Mid(str, i + 1, 1) = Chr(9) Or Mid(str, i - 1, 1) = Chr(32) Or Mid(str, i - 1, 1) = Chr(9) Then
                            result = result + "&nbsp;"
                        Else
                            result = result + " "
                        End If
                    Else
                        result = result + "&nbsp;"
                    End If
                Case Chr(9)
                    result = result + "    "
                Case Else
                    result = result + Mid(str, i, 1)
            End Select
        Next
        Return result
    End Function

3、在textarea(textbox里面的textmode为dul),对其输入的字符转换成html格式输出

 Public Shared Function StripHTML()
Function StripHTML(ByVal strHtml As String) As String
        Dim aryReg() As String = New String() {"<script[^>]*?>.*?</script>", "<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]ws[^\7])*?\7ws\w+)ws.{0})ws\s)*?(\/\s*)?>", "([\r\n])[\s]+", "&(quotws#34);", "&(ampws#38);", "&(ltws#60);", "&(gtws#62);", "&(nbspws#160);", "&(iexclws#161);", "&(centws#162);", "&(poundws#163);", "&(copyws#169);", "&#(\d+);", "-->", "<!--.*\n"}

        Dim aryRep() As String = {"", "", "", """", "&", "", "", " ", "\xa1", Chr(161), "\xa2", Chr(162), "\xa3", Chr(163), "\xa9", Chr(169), "", "\r\n", ""}


        Dim NewReg As String = aryReg(0)
        Dim strOutput As String = strHtml
        Dim i As Integer
        For i = 0 To aryReg.Length - 1 Step i + 1
            Dim regex As Regex = New Regex(aryReg(i), RegexOptions.IgnoreCase)
            strOutput = regex.Replace(strOutput, aryRep(i))
        Next

        strOutput.Replace("<", "")
        strOutput.Replace(">", "")
        strOutput.Replace("\r\n", "")


        Return strOutput
    End Function

4、一个plus js代码,作用是把所有的tooltip格式化后转变一个层,特定输出
var pltsPop=null;
var pltsoffsetX = 10;
var pltsoffsetY = 15;
var pltsPopbg="#ffff00";
var pltsPopfg="#111111";
var pltsTitle="";
document.write('<div id=pltsTipLayer style="display: none;position: absolute; z-index:10001"></div>');
function pltsinits()
{
    document.onmouseover   = plts;
    document.onmousemove = moveToMouseLoc;
}
function plts()
{  var o=event.srcElement;
    if(o.alt!=null && o.alt!=""){o.dypop=o.alt;o.alt=""};
    if(o.title!=null && o.title!=""){o.dypop=o.title;o.title=""};
    pltsPop=o.dypop;
    if(pltsPop!=null&&pltsPop!=""&&typeof(pltsPop)!="undefined")
    {
pltsTipLayer.style.left=-1000;
pltsTipLayer.style.display='';
var Msg=pltsPop.replace(/\n/g,"<br>");
Msg=Msg.replace(/\0x13/g,"<br>");
var re=/\{(.[^\{]*)\}/ig;
if(!re.test(Msg))pltsTitle="[MyTopWin.Com] 拓文CMS ASP.net系统";
else{
   re=/\{(.[^\{]*)\}(.*)/ig;
     pltsTitle=Msg.replace(re,"$1")+"&nbsp;";
   re=/\{(.[^\{]*)\}/ig;
   Msg=Msg.replace(re,"");
   Msg=Msg.replace("<br>","");}
  
        var content =
       '<table style="FILTER:alpha(opacity=90) shadow(color=#bbbbbb,direction=150);" id=toolTipTalbe border=0><tr><td width="100%"><table class=selet_bg cellspacing="0" cellpadding="0" style="width:100%" style="font size:11px;">'+
       '<tr id=pltsPoptop><th height=12 valign=bottom class=header><p id=topleft align=left>↖'+pltsTitle+'</p><p id=topright align=right style="display:none">'+pltsTitle+'↗</font></th></tr>'+
       '<tr><td style="padding-left:10px;padding-right:10px;padding-top: 4px;padding-bottom:4px;line-height:135%">'+Msg+'</td></tr>'+
       '<tr id=pltsPopbot style="display:none"><th height=12 valign=bottom class=header><p id=botleft align=left>↙'+pltsTitle+'</p><p id=botright align=right style="display:none">'+pltsTitle+'↘</font></th></tr>'+
       '</table></td></tr></table>';
        pltsTipLayer.innerHTML=content;
        toolTipTalbe.style.width=Math.min(pltsTipLayer.clientWidth,document.body.clientWidth/2.2);
        moveToMouseLoc();
        return true;
       }
    else
    {
     pltsTipLayer.innerHTML='';
       pltsTipLayer.style.display='none';
        return true;
    }
}

function moveToMouseLoc()
{
if(pltsTipLayer.innerHTML=='')return true;
var MouseX=event.x;
var MouseY=event.y;
//window.status=event.y;
var popHeight=pltsTipLayer.clientHeight;
var popWidth=pltsTipLayer.clientWidth;
if(MouseY+pltsoffsetY+popHeight>document.body.clientHeight)
{
    popTopAdjust=-popHeight-pltsoffsetY*1.5;
    pltsPoptop.style.display="none";
    pltsPopbot.style.display="";
}
  else
{
     popTopAdjust=0;
    pltsPoptop.style.display="";
    pltsPopbot.style.display="none";
}
if(MouseX+pltsoffsetX+popWidth>document.body.clientWidth)
{
  popLeftAdjust=-popWidth-pltsoffsetX*2;
  topleft.style.display="none";
  botleft.style.display="none";
  topright.style.display="";
  botright.style.display="";
}
else
{
  popLeftAdjust=0;
  topleft.style.display="";
  botleft.style.display="";
  topright.style.display="none";
  botright.style.display="none";
}
pltsTipLayer.style.left=MouseX+pltsoffsetX+document.body.scrollLeft+popLeftAdjust;
pltsTipLayer.style.top=MouseY+pltsoffsetY+document.body.scrollTop+popTopAdjust;
   return true;
}
pltsinits();

标签:函数,html,代码
0
投稿

猜你喜欢

  • form 元素内的字段 name 不要跟 form 属性名称一致

    2008-10-22 13:25:00
  • SQL查询效率:100w数据查询只需要1秒钟

    2008-12-09 14:36:00
  • Web设计中的黄金分割[译]

    2009-02-20 13:41:00
  • Dreamweaver定义本地站点

    2010-07-02 16:27:00
  • 深入研究Application和Session对象

    2008-10-13 08:30:00
  • SQL学习笔记六 union联合结果集使用

    2011-09-30 11:34:27
  • 关注oblog 关注xml-rpc 自己开发客户端小记

    2009-10-04 20:27:00
  • 一个统计当前在线用户的解决方案

    2007-10-13 19:27:00
  • MS SQL Server中的CONVERT日期格式化大全

    2010-08-07 11:31:00
  • js 操作cookie的教程

    2008-03-05 13:08:00
  • asp防止同时登陆的问题

    2007-10-26 12:19:00
  • 新书:《精通CSS网页布局》

    2009-01-08 11:57:00
  • “Unable to read local eventlog (reason:事件日志文件已在读取时间更改)”解决办法

    2009-08-27 13:12:00
  • 给zblog加上运行代码功能

    2007-12-19 13:07:00
  • 极致之美——百行代码实现全新智能语言Lisp

    2010-07-13 13:07:00
  • IE8 CSS之生成内容

    2008-09-09 22:14:00
  • GC与JS内存泄露

    2010-09-25 19:01:00
  • INPUT的对齐问题

    2008-05-24 08:32:00
  • javascript设计模式交流(二) Prototype Pattern

    2007-11-29 14:01:00
  • ASP和MYSQL开发网站的注意事项

    2009-08-21 13:23:00
  • asp之家 网络编程 m.aspxhome.com