推奨:ASP+AJAXは、友達を追加するためのリフレッシュを達成しません仕事の関係により、1つの機能の1つは、友人として相手を増やすことです。図に示すように:使用される方法はajaxであり、適切なコードは安価です:href = javascript:void(0); onclick = add_username( '%= rs(username)%'); friend/a、使用されるJS検証を追加します:スクリプト言語= javascript src = ajax。
タグ関数を実装するために使用されるASPクラスは、理解できる場合は特定の機能を理解できます。
レコードを変更する:
1.拡張機能の追加、2006-12-3
<%
'*******************************
'クラス名:Tagengine
'名前:タグエンジン
'日付:2006-11-29
'著者:レン・ユエ、Xilou
'ウェブサイト:www.xilou.net | www.chinacms.org
'説明:タグを抽出する機能のみ、タグを解析する機能はありません
'著作権:転載の情報源を参照してください、著者
'*******************************
'最終修正:2006-12-3
'修正数:3
'変更手順:ルールを変更して、一致をより正確にする
'現在のバージョン:v1.1.3
'*******************************
クラスのタジェンギン
Private Regex '通常のオブジェクト
'タグルールを定義します
Private Tagbegin
プライベートタグ付け
private blockbegin_begin
private blockbegin_end
private blockend_begin
private blockend_end
'//初期化
private sub class_initialize()
'タグルールを初期化します
tagbegin = {
Tagend =}
blockbegin_begin = <block:
blockbegin_end =>
blockend_begin = </block:
blockend_end =>
'通常のオブジェクトを初期化します
regex = new regexpを設定します
regex.ignorecase = true 'はケース非感受性です
regex.global = true'globalマッチ
End Sub
private sub class_terminate()
'オブジェクトをリリースします
ISObject(Regex)の場合、再遺伝子= Nothingを設定します
End Sub
'メソッド:resetpattern()
'パラメーター:
'返品:返品値はありません
'関数:タグルールをリセットします
public sub resetpattern(tagbegin、tagend、_
blockbegin_begin、_
blockbegin_end、_
blockend_begin、_
blockend_end _
))
tagbegin = tagbegin
Tagend = Tagend
blockbegin_begin = blockbegin_begin
blockbegin_end = blockbegin_end
blockend_begin = blockend_begin
blockend_end = blockend_end
End Sub
'メソッド:GetBlocks(Temp、BlockName)
'パラメーター:一致するコンテンツ、温度。ブロック名、ブロックフラグ名
'戻り:コレクションオブジェクトに戻る(一致)
'機能:ブロックタグコレクションを取得します
パブリック関数GetBlocks(TEMP、BLOCKNAME)
薄暗いパターン
pattern =(&blockbegin_begin&[]*&//b [/w/w]*?&blockbegin_end
パターン=パターン&)([/w/w]*?)&blockend_begin&[/n/r]*&blockname&[]*&blockend_end
'Response.Writeパターン
regex.pattern =パターン
getBlocks = regex.execute(temp) 'を設定します。一致するセットを返します
エンド関数
'メソッド:getblockbyatt(Temp、astributeName、astributevalue)
'議論:一致するコンテンツ、温度。属性名、属性名; astibutevalue、属性値
'戻り:コレクションオブジェクトに戻る(一致)
'機能:ブロックラベルの特定の属性の値に基づいて、一致するブロックのセットを取得します
パブリック関数getBlockbyatt(Temp、astributeName、astributevalue)
薄暗いパターン
pattern =(&blockbegin_begin&[/w/w]*?[/n/r]+&astributeName
pattern = pattern&[]*= []*/&chr(34)&astributevalue&/&&&&&&ch(34)&[/n/r]*[/w/w]*?
パターン= pattern&blockbegin_end
パターン=パターン&)([/w/w]*?)&blockend_begin&[/w/w]*?&blockend_end
'Response.Writeパターン
regex.pattern =パターン
set getBlockbyatt = regex.execute(temp) 'は一致するセットを返します
エンド関数
'メソッド:getAttValue(TEMP、ATTRIBUTENAME)
'記事:一致するコンテンツ。属性名、属性名
'戻り:コレクションオブジェクトに戻る(一致)
'効果:ブロックタグで属性値を取得します
パブリック関数getAttValue(Temp、astributeName)
薄暗いパターン
パターン= [/n/r]+&astributeName&[]*= []*/&chr(34)&([^/f/n/r/t/v/&chr(34)&]*?)/&ch(34)
'Response.Writeパターン
regex.pattern =パターン
getAttValue = regex.execute(temp)をset
エンド関数
'メソッド:parsetag(temp、tagname、tagvalue)
'議論:一致するコンテンツ、温度。属性名、属性名; astibutevalue、属性値
'戻り:交換された文字列を返します
'効果:簡単なタグを交換します
パブリック関数parsetag(temp、tagname、tagvalue)
薄暗いパターン
'pattern = tagbegin&[]*&tagname&[]*&tagend
pattern = tagbegin&tagname&tagend
regex.pattern =パターン
parsetag = regex.replace(temp、tagvalue)
エンド関数
'メソッド:ClearBlocks(温度)
'議論:温度、一致するもの
'戻り:クリアされた文字列を返します
'効果:すべてのブロックタグをクリアします
パブリック機能クリアブロック(温度)
薄暗いパターン
pattern = blockbegin_begin&[/w/w]*?&blockbegin_end&[/w/w]*?
パターン= pattern&blockend_begin&[/w/w]*?&blockend_end
regex.pattern =パターン
clearblocks = regex.replace(temp、)
エンド関数
'方法:ClearTags(温度)
'議論:温度、一致するもの
'戻り:クリアされた文字列を返します
'効果:すべてのシングルタグをクリアします
パブリック機能クリアタグ(温度)
薄暗いパターン
pattern = tagbegin&[^/f/n/r/t/v]*?&Tagend
regex.pattern =パターン
cleartags = regex.replace(temp、)
エンド関数
'メソッド:Showerror(errdes)
'パラメーター:errdes、エラーの説明
'戻り:なし
'効果:エラーを表示します
パブリックサブシャワー(エラー)
dim errinfo、cssstyle
cssstyle = style =&chr(34)
cssstyle = cssstyle&font:bold 12px 150%、 'arial'; border:1px solid#cc3366;
cssstyle = cssstyle&width:50%; color:#990066; padding:2px;&chr(34)
errinfo = vbcrlf&<ul&cssstyle&> <li>&errdes&</li> </ul>&vbcrlf
respons.write errinfo
End Sub
'*********************標準関数終了****************
'以下はカスタムエクステンションです
'メソッド:ext_getSimpleBlocks(TEMP、BLOCKNAME)
'パラメーター:一致するコンテンツ、温度。ブロック名、ブロックフラグ名
'戻り:コレクションオブジェクトに戻る(一致)
'関数:単純なブロックタグのコレクションを取得します
'例:<block:new id = loop =/>
パブリック関数ext_getSimpleBlocks(TEMP、BLOCKNAME)
薄暗いパターン
Dim BlockBegin、BlockEnd
'タグルールを再定義します
blockbegin = <block:
blockend =/>
pattern = blockbegin&[]*&//b [/w/w]*?&blockend
regex.pattern =パターン
ext_getSimpleBlocks = regex.execute(temp)を設定します
エンド関数
'*********************標準関数終了****************
'以下はカスタムエクステンションです
'メソッド:ext_getSimpleBlocks(TEMP、BLOCKNAME)
'パラメーター:一致するコンテンツ、温度。ブロック名、ブロックフラグ名
'戻り:コレクションオブジェクトに戻る(一致)
'関数:単純なブロックタグのコレクションを取得します
'例:<block:new id = loop =/>
パブリック関数ext_getSimpleBlocks(TEMP、BLOCKNAME)
薄暗いパターン
Dim BlockBegin、BlockEnd
'タグルールを再定義します
blockbegin = <block:
blockend =/>
pattern = blockbegin&[]*&//b [/w/w]*?&blockend
regex.pattern =パターン
ext_getSimpleBlocks = regex.execute(temp)を設定します
エンド関数
'メソッド:ext_getText(パス)
'議論:読み取られるテキストへのパス、相対的または絶対的なパス
'戻り:テキストコンテンツを返します
'関数:ファイルを読んでください
'例:c = ext_getText(tpl.htm)
パブリック関数ext_getText(パス)
dim fso、f、テキスト
エラーの再開時に次に再開します
fso = createObject(scripting.filesystemObject)をset
f = fso.opentextfile(path)を設定します
text = f.readall
エラーの場合
err.clear
Showerrorファイルを読むときにエラーが発生しました...
ISObject(FSO)の場合、FSO = Nothingを設定します
出口機能
ifを終了します
ISObject(FSO)の場合、FSO = Nothingを設定します
ext_getText =テキスト
エンド関数
'メソッド:ext_getincludefile(temp)
'議論:温度、一致するもの
'戻り:コレクションオブジェクトに戻る(一致)
'関数:<! - #include file = tpl.html->のブロックを解析します
'例:ext_getIncludeFile(temp)(0).submatches(0)、最初の一致するファイル名を返します
パブリック関数ext_getincludefile(temp)
薄暗いパターン
Dim BlockBegin、BlockEnd
'タグルールを再定義します
blockbegin = <! - #include
blockend = - >
pattern = blockbegin&[]*file []*= []*/([/w/w]*?)/[]*&blockend
regex.pattern =パターン
ext_getincludefile = regex.execute(temp)を設定します
エンド関数
エンドクラス
%>
共有:ASP制限付きIP投票完全な例コード作業関係により、機能の1つはユーザーに投票し、同じIPに同じユーザーに1回だけ投票することを要求することです。