html 画中画广告,画中画广告插入在每篇文章中的实现方法

尽管很多人给出了给每篇文章加上画中画广告的方法,但是这些所谓的方法,都不能真正地实现文字环绕在广告周围的“画中画”效果,只能左对其或者右对齐。现在要讨论的这个方法才能真正实现像新浪网、搜狐网那样的画中画广告效果。

首先说一下错误的div+CSS方法,希望大家别被误导:

文字内容

上面只能算作是左对齐的效果。还有很多借助表格或者iframe来实现的,也不外乎如此。

那么,怎么才能真正实现在每篇文章中批量添加画中画广告的效果呢?可以采用截取字段来进行,有两段代码。

第一段是分析文章内容字数,然后插入广告的代码:

Dim LeftContent,MidAdContent,RightContent,ModifyContent,headlen,tempStr,headAdStr,tailAdStr

''截取合适数量的字符串

if len(ArticleContent)<320 then

headlen=200

else

headlen=320

end if

tempStr=ArticleContent

LeftContent=InterceptString(tempStr,headlen)

'获得截取的文字内容

RightContent=Right(ArticleContent,Len(ArticleContent)-Len(LeftContent))

ModifyContent=LeftContent &"

接下的第二段就是画中画广告代码的判断了。

Function InterceptString(txt,length)

Dim x,y,ii,c,ischines,isascii,tempStr

txt=trim(txt)

x = len(txt)

y = 0

if x >= 1 then

for ii = 1 to x

c=asc(mid(txt,ii,1))

if  c255 then

'说明是一个中文字符

y = y + 2

ischines=1

isascii=0

else

'说明是一个ascii码

y = y + 1

ischines=0

isascii=1

end if

'如果长度已经大于定义子字符串长度,就判断是否包含敏感字符串是否分开

if y >= length then

if ischines=1 and StrCount(left(trim(txt),ii),"") then

txt = left(trim(txt),ii) '"字符串限长

exit for

else

if isascii=1 then x=x+1

end if

end if

next

InterceptString = txt

else

InterceptString = ""

end if

End Function

'判断字符串出现的次数

Function StrCount(Str,SubStr)

Dim iStrCount

Dim iStrStart

Dim iTemp

iStrCount = 0

iStrStart = 1

iTemp = 0

Str=LCase(Str)

SubStr=LCase(SubStr)

Do While iStrStart 

iTemp = Instr(iStrStart,Str,SubStr,vbTextCompare)

If iTemp <=0 Then

iStrStart = Len(Str)

Else

iStrStart = iTemp + Len(SubStr)

iStrCount = iStrCount + 1

End If

Loop

StrCount = iStrCount

End Function以新云网站管理系统为例。首先找到生长静态文章页面的代码文件/inc/NewsChannel.asp (其它CMS与此类似),在第248行 HtmlContent = Replace(HtmlContent, "{$ArticleContent}", ArticleContent) 的前面插入第一段代码,在页面中的适当为止插入第二段代码,然后将该行中的ArticleContent 改为ModifyContent 即可。

版权所有,转载请务必注明本文链接地址和标题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值