Рекомендуется: ASP+Ajax не достигает обновления, чтобы добавить друзей Из -за рабочих отношений одна из функций - увеличить другую сторону как друга. Как показано на рисунке: используемый метод является ajax, а соответствующий код дешевле: a href = javaScript: void (0); onclick = add_username (' %= rs (имя пользователя) %'); Добавьте как друг/A, используется проверка JS: язык скрипта = javaScript src = ajax.
Класс ASP, используемый для реализации функции тега, вы можете понять конкретные функции, если вы можете их понять.
Измените запись:
1. Добавление функции расширения, 2006-12-3
<%
'*********************************
'Имя класса: TAGENGINE
'Имя: Tag Engine
Дата: 2006-11-29
'Автор: Ленг Юэ, Xilou
'Веб -сайт: www.xilou.net | www.chinacms.org
'Описание: только функция извлечения тегов, без функций диаграмм
'Copyright: пожалуйста, обратитесь к источнику для перепечатки, автор
'*********************************
«Последнее изменение: 2006-12-3
'Количество модификаций: 3
'Инструкции по изменению: изменить правила, чтобы сделать совпадение более точным
'Текущая версия: v1.1.3
'*********************************
Класс Таггин
Обычный объект частной корпорации
'Определите правила тегов
Приватный 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 match
Конец суб
Private sub class_terminate ()
'Выпустите объект
Если isobject (recex), тогда установите regex = ничего
Конец суб
'Метод: ResetPattern ()
'параметр:
'Return: нет возврата значения
'Функция: сбросить правила тега
Public subsetpattern (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
Конец суб
«Метод: getBlocks (Temp, BlockName)
'Параметр: темп, содержимое подходящего; BlockName, Block Flag
'Return: вернуться к объекту коллекции (совпадает)
'Function: получить коллекцию блок -тегов
Публичная функция GetBlocks (Temp, BlockName)
Dim Pattern
pattern = (& blockbegin_begin & []*& blockname &/b [/w/w]*? & blockbegin_end
pattern = pattern &) ([/w/w]*?) & blockend_begin & [/n/r]*& blockname & []*& blockend_end
'Response.write pattern
regex.pattern = шаблон
Установить getBlocks = regex.execute (temp) 'Возвращает соответствующий набор
Конечная функция
Метод: getBlockbyatt (Temp, AttributeName, AttruityValue)
'Аргумент: темп, содержание для совпадения; AttributeName, имя атрибута; attributeValue, значение атрибута
'Return: вернуться к объекту коллекции (совпадает)
'Function: Получите соответствующий набор блоков на основе значения определенного атрибута в метке блока
Публичная функция getBlockbyatt (Temp, AttributeName, AttributeValue)
Dim Pattern
pattern = (& blockbegin_begin & [/w/w]*?
pattern = pattern & []*= []*/& chr (34) & attributevalue &/& chr (34) & [/n/r]*[/w/w]*?
шаблон = шаблон и блокбейгин_енд
pattern = pattern &) ([/w/w]*?) & blockend_begin & [/w/w]*? & blockend_end
'Response.write pattern
regex.pattern = шаблон
Установить getBlockbyatt = regex.execute (temp) 'Возвращает соответствующий набор
Конечная функция
'Метод: getattvalue (temp, attributeName)
«Статья: темп, контент для совпадения; Атрибут, имя атрибута
'Return: вернуться к объекту коллекции (совпадает)
'Effect: Получите значение атрибута в теге блока
Публичная функция getAttvalue (темп, атрибутзал)
Dim Pattern
Pattern = [/n/r]+& attributeName & []*= []*/& chr (34) & ([^/f/n/r/v/& chr (34) &]*?)/& chr (34)
'Response.write pattern
regex.pattern = шаблон
Установить getAttvalue = regex.execute (temp)
Конечная функция
'Метод: Parsetag (Temp, Tagname, Tagvalue)
'Аргумент: темп, содержание для совпадения; AttributeName, имя атрибута; attributeValue, значение атрибута
'Return: вернуть замененную строку
'Effect: замените простые теги
Public Function Parsetag (Temp, Tagname, Tagvalue)
Dim Pattern
'pattern = Tagbegin & []*& Tagname & []*& Tagend
Pattern = Tagbegin & Tagname & Tagend
regex.pattern = шаблон
parsetag = regex.replace (Temp, Tagvalue)
Конечная функция
'Метод: Clearblocks (Temp)
'Аргумент: температура, что соответствовать
'Return: возвращает очищенную строку
'Effect: очистить все блок -теги
Публичная функция ClearBlocks (TEMP)
Dim Pattern
pattern = blockbegin_begin & [/w/w]*? & blockbegin_end & [/w/w]*?
pattern = pattern & blockend_begin & [/w/w]*? & blockend_end
regex.pattern = шаблон
clearblocks = regex.replace (Temp,)
Конечная функция
'Метод: Cleartags (Temp)
'Аргумент: температура, что соответствовать
'Return: возвращает очищенную строку
'Effect: очистить все одиночные теги
Публичная функция ClearTags (TEMP)
Dim Pattern
Pattern = Tagbegin & [^/f/n/r/t/v]*? & Tagend
regex.pattern = шаблон
cleartags = regex.replace (Temp,)
Конечная функция
'Метод: душ (errdes)
'Параметр: errdes, Описание ошибки
'Return: нет
'Эффект: Ошибка отображения
Общественный суб душ (ERRDES)
Dim errinfo, cssstyle
cssstyle = style = & chr (34)
cssstyle = cssstyle & font: bold 12px 150%, «Arial»; граница: 1px solid #cc3366;
cssstyle = cssstyle & width: 50%; цвет:#990066; прокладка: 2px; & chr (34)
errinfo = vbcrlf & <ul & cssstyle &> <li> & errdes & </li> </ul> & vbcrlf
Response.write errinfo
Конец суб
'*******************
'Ниже приведены пользовательские расширения
Метод: ext_getsimpleblocks (Temp, blockname)
'Параметр: темп, содержимое подходящего; BlockName, Block Flag
'Return: вернуться к объекту коллекции (совпадает)
'Function: Получите коллекцию простых блок -тегов
Пример: <block: new id = loop =/>
Публичная функция ext_getsimpleblocks (Temp, blockname)
Dim Pattern
Dim Blockbegin, Blockend
'Переопределение правил тега
blockbegin = <block:
blockend =/>
pattern = blockbegin & []*& blockname &/b [/w/w]*? & blockend
regex.pattern = шаблон
Установить ext_getsimpleblocks = regex.execute (temp)
Конечная функция
'*******************
'Ниже приведены пользовательские расширения
Метод: ext_getsimpleblocks (Temp, blockname)
'Параметр: темп, содержимое подходящего; BlockName, Block Flag
'Return: вернуться к объекту коллекции (совпадает)
'Function: Получите коллекцию простых блок -тегов
Пример: <block: new id = loop =/>
Публичная функция ext_getsimpleblocks (Temp, blockname)
Dim Pattern
Dim Blockbegin, Blockend
'Переопределение правил тега
blockbegin = <block:
blockend =/>
pattern = blockbegin & []*& blockname &/b [/w/w]*? & blockend
regex.pattern = шаблон
Установить ext_getsimpleblocks = regex.execute (temp)
Конечная функция
'Метод: ext_getText (path)
'Аргумент: путь, относительный или абсолютный путь к тексту, который должен прочитать
'Return: вернуть текстовое контент
'Function: прочитать файл
Пример: c = ext_getText (tpl.htm)
Публичная функция ext_getText (path)
Dim FSO, F, текст
При ошибке резюме следующим
Установить fso = createObject (scripting.filesystemobject)
Установите f = fso.opentextfile (path)
Text = F.Readall
Если ошибка, тогда
Err.clear
душ, при чтении файла произошла ошибка, произошла ошибка ...
Если isobject (FSO), тогда установите FSO = ничего
Выходная функция
Конец, если
Если isobject (FSO), тогда установите FSO = ничего
Ext_getText = текст
Конечная функция
'Метод: ext_getincludefile (temp)
'Аргумент: температура, что соответствовать
'Return: вернуться к объекту коллекции (совпадает)
'Функция: проанализируйте блок <!-#include file = tpl.html->
Пример: ext_getincludefile (temp) (0) .submatches (0), верните первое имя файла сопоставления
Публичная функция ext_getincludefile (TEMP)
Dim Pattern
Dim Blockbegin, Blockend
'Переопределение правил тега
blockbegin = <!-#Включите
Blockend =->
pattern = blockbegin & []*file []*= []*/([/w/w]*?)/[]*& blockend
regex.pattern = шаблон
Установить ext_getincludefile = regex.execute (temp)
Конечная функция
Конечный класс
%>
Share: ASP ограниченный IP -голосование полным примером кода В связи с рабочими отношениями одна из функций состоит в том, чтобы голосовать за пользователей, требуя, чтобы один и тот же IP проголосовал за одного и того же пользователя только один раз, публикуйте код ASP: % 'Автор: Wurong Source: DB_CONN (DBS) hoalUsername = trim (request.querystring (username)) rs_create (выберите имя usernam