关于 piexview 图片切换的问题

最近写了一个 宣传性的网站。

其中要用到 一个图片切换的东西。当时就找到了 piexview 这个 flash的图片切换器。

<script type="text/javascript">
var pics="";var links="";var texts="";
pics="<%=gettexts(1)%>";     //这个是图片的路径了。 一般用相对路径
links="<%=gettexts(2)%>";    //这个是点击图片后的连接了
texts="<%=gettexts(3)%>";   //这个则是在下面切换的标题文字了。

var focus_width=200              //flash 宽度
var focus_height=180            //flash高度
var text_height=18                //标题高度
var swf_height = focus_height+text_height
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ focus_width +'" height="'+ swf_height +'">');
document.write('<param name="allowScriptAccess" value="sameDomain"><param name="movie" value="Images/pixviewer.swf"/*tpa=http://www.smzwgk.com/Images/pixviewer.swf*/>');
document.write('<param name="quality" value="high"><param name="bgcolor" value="#F0F0F0">');
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
document.write('<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'">');
document.write('<embed src="Images/pixviewer.swf" wmode="opaque" FlashVars="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'" menu="false" bgcolor="#ffffff" quality="high" width="'+ focus_width +'" height="'+ focus_height +'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
document.write('</object>');
</script>

 

在后台可以这样取值。我以我的代码为例

 

/// <summary>
    /// 得到文章中含有img标签的图片路径
    /// </summary>
    /// <param name="HTMLStr">文章内容</param>
    /// <returns>图片路径</returns>
    public string GetImgUrl(string HTMLStr)
    {
        string str = string.Empty;
        Regex r = new Regex(@"<img/s+[^>]*/s*src/s*=/s*([']?)(?<url>/S+)'?[^>]*>", RegexOptions.Compiled);
        Match m = r.Match(HTMLStr.ToLower());
        if (m.Success)
            str = m.Result("${url}");
        return str;
    }

 

   /// <summary>
    /// 过滤一般特殊特号,如单引、双引和回车和分号等
    /// </summary>
    /// <param name="theString">内容</param>
    /// <returns>过滤后的内容</returns>
    public static string SafetyStr(string theString)
    {
        string[] aryReg ={ "'", ";", "/"", "/r", "/n", "<", ">" };
        for (int i = 0; i < aryReg.Length; i++)
        {
            theString = theString.Replace(aryReg[i], string.Empty);
        }
        return theString;
    }

 

    /// <summary>
    /// 给图片切换器的属性赋值
    /// </summary>
    /// <param name="ii">根据不同的ii值来判断返回不同的内容</param>
    /// <returns>返回图片切换器所需的内容</returns>
    protected string gettexts(int ii)
    {
        string pics = "";  //图片地址
        string texts = "";  //图片下面的文字描述
        string paths = "";  //点击图片后的链接
        string sql = "select top 5 * from zfgknews where ispicnews=1 order by updatetime desc";
        DataTable dt = DBHelper.ExcueDataTable(sql, CommandType.Text, null);
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            string htmlstr = dt.Rows[i]["newscontent"].ToString();
            string pics2 = GetImgUrl(htmlstr);
            pics2 = SafetyStr(pics2);
            pics += pics2; 

            string htmlstr2 = dt.Rows[i]["newstitle"].ToString();
            texts += htmlstr2.Length > 12 ? htmlstr2.Substring(0, 12) + "…" : htmlstr2; 

            string htmlstr3 = dt.Rows[i]["id"].ToString();
            paths += "Article_Show.aspx?ArticleID=" + htmlstr3;

            if (i != (dt.Rows.Count - 1))
            {
                pics += "|";
                texts += "|";
                paths += "|";
            }
        }
        if (ii == 1) // 1.代表返回图片地址
        {
            return pics;
        }
        else if (ii == 2) // 2.代表返回点击图片后的链接地址
        {
            return paths;
        }
        else             // 3.代表返回图片下面的文字描述
        {
            return texts;
        }
    }

 

开始坐的很好。也没什么问题。到了服务器上。问题就来了。

首先我测试的是 用的本机上的图片。图片名字没中文。 当然OK。 大家都知道。服务器敏感些。对中文的支持不全。

所以在服务器上。图片名为中文的图片。不能在这个 flash中切换了。

还有就是 格式貌似只能为 JPG的。

你可能感兴趣的:(sql,String,服务器,Flash,regex,menu)