이 기사에서는 주로 각 기사의 ASP PIP(Picture-in-Picture) 광고 삽입 구현 방법을 소개합니다.
많은 사람들이 각 기사에 PIP 광고를 추가하는 방법을 제공했지만 이러한 소위 방법은 광고 주변 텍스트의 PIP 효과를 실제로 얻을 수 없으며 왼쪽이나 오른쪽으로만 정렬할 수 있습니다. 지금 논의되는 방법은 Sina 및 Sohu와 같은 PIP(Picture in Picture) 광고 효과를 실제로 달성할 수 있습니다.
먼저, 잘못된 div+CSS 방법에 대해 이야기해 보겠습니다. 오해하지 않기를 바랍니다.
<div id=outer style=float:left;><div id=inner style=float:left;margin:0;width:200px;height:200px;></div>텍스트 콘텐츠</div>
위의 내용은 왼쪽 정렬의 효과로만 간주할 수 있습니다. 테이블이나 iframe을 사용하여 구현되는 다른 방법이 많이 있으며 이는 이것에 지나지 않습니다.
그렇다면 각 기사에 PIP 광고를 일괄 추가하는 효과를 실제로 어떻게 얻을 수 있을까요? 필드를 가로채서 수행할 수 있으며 두 가지 코드가 있습니다.
첫 번째 단락은 기사 내용의 단어 수를 분석한 다음 광고 코드를 삽입하는 것입니다.
Dim LeftContent,MidAdContent,RightContent,ModifyContent,headlen,tempStr,headAdStr,tailAdStr'' len(ArticleContent)<320이면 headlen=200else headlen=320end인 경우 적절한 수의 문자열을 가로챕니다. iftempStr=ArticleContentLeftContent=InterceptString(tempStr,headlen)'가로채기한 텍스트 콘텐츠 가져오기 RightContent=Right(ArticleContent,Len(ArticleContent)-Len(LeftContent))ModifyContent=LeftContent &<div style=float:left;><script 언어=javascript src=http://www.eryi.org/ad.js></script></div>& RightContent
위는 DIV+JS를 통해 광고를 삽입하는 방법입니다. 광고 코드는 ad.js 파일에 삽입되며, table+JS를 통해서도 삽입할 수 있고, iframe을 사용해 직접 삽입할 수도 있습니다. 어느 쪽이든 광고 주위를 둘러쌀 수 있도록 해당 속성을 왼쪽 정렬 또는 오른쪽 정렬로 설정해야 합니다.
다음 두 번째 단락은 PIP 광고 코드의 판단입니다.
함수 InterceptString(txt,length)Dim x,y,ii,c,ischines,isascii,tempStrtxt=trim(txt)x = len(txt)y = 0이면 x >= 1이면 ii = 1에서 xc=asc(mid) (txt,ii,1))if c< 0 또는 c >255 then '설명은 한자입니다 y = y + 2 ischines=1 isascii=0else '설명은 ASCII 코드입니다 y = y + 1 ischines=0 isascii=1end if'길이가 정의된 하위 문자열의 길이보다 긴 경우 민감한 문자열이 포함되어 있는지 확인하고 y > = 길이, ischines=1 및 StrCount(left(trim(txt),ii),<a)=StrCount(left(trim(txt),ii),</a>)인 경우 txt = left(trim(txt),ii) '제한된 문자열 길이 종료 for else if isascii=1 then x=x+1 end if end if next InterceptString = txtelse InterceptString = end ifEnd Function' 문자열이 나타나는 횟수 결정 함수 StrCount(Str,SubStr) Dim iStrCount Dim iStrStart Dim iTemp iStrCount = 0 iStrStart = 1 iTemp = 0 Str=LCase(Str) SubStr=LCase(SubStr) iStrStart < Len(Str) 동안 iTemp = Instr(iStrStart,Str,SubStr,vbTextCompare) iTemp <=0이면 iStrStart = Len(Str) Else iStrStart = iTemp + Len (SubStr) iStrCount = iStrCount + 1 End If 루프 StrCount = iStrCountEnd 함수
New Cloud 웹사이트 관리 시스템을 예로 들어보겠습니다. 먼저 정적 기사 페이지를 늘리는 코드 파일 /inc/NewsChannel.asp를 찾고(다른 CMS도 유사함) 248행 앞에 첫 번째 코드 조각을 삽입합니다. HtmlContent = 바꾸기(HtmlContent, {$ArticleContent}, ArticleContent), 그리고 페이지에 추가 적절한 때까지 두 번째 코드 부분을 삽입한 다음 해당 줄의 ArticleContent를 ModifyContent로 변경합니다.