Recomendado: ASP 3.0 Programação Avançada (32) 7.2.4 Erro de script do cliente até agora, aprendemos sobre os erros do ASP. No entanto, o ASP também é frequentemente usado para criar páginas da Web contendo scripts do cliente. Se o elemento <Script> que contém o código do cliente não estiver definido como runat = servidor
Na última vez, conversamos sobre como usar objetos de expressão regular para obter a verificação de vários dados no ASP. O artigo descreve as poderosas funções de objetos de expressão regular. Em seguida, vamos dar uma olhada em outras funções de objetos de expressão regular. Quando navegamos na Internet, especialmente ao navegar em vários fóruns, geralmente vemos a palavra código UBB. O que é o código UBB? O código UBB é uma variante do HTML, uma etiqueta especial usada pelo Ultimate Bulletin Board (um programa BBS no exterior e muitos lugares na China usam este programa). Para evitar ataques não intencionais ou intencionais dos usuários no fórum pelo código HTML, vários fóruns basicamente bloqueiam o código HTML. No entanto, para tornar o fórum mais colorido, o fórum abrirá algumas tags personalizadas de acordo, semelhantes às tags em html, como [url], [/url], [vermelho], [/vermelho]. Dessa forma, algumas funções equivalentes ao código HTML podem ser fornecidas, e o fórum pode ser evitado de ataques maliciosos. Essas tags personalizadas são comumente conhecidas como código UBB. Atualmente, todos os fóruns da moda suportam o código UBB, como o Fórum de Rede de Tecnologia Dinâmica, suporta muito bem o código UBB. Agora vamos usar objetos de expressão regular para implementar nosso próprio código UBB colorido.
Primeiro de tudo, o lado do servidor (IIS ou PWS) deve ter um ambiente de suporte VBScript5.0, o que geralmente significa que você já pode suportar objetos de expressão regular após o IE5.x ser instalado.
Em relação a métodos comuns e métodos de uso de atributos de objetos de expressão regular, já introduzi neste artigo sobre o uso de objetos de expressão regular para implementar a verificação de dados no ASP. Você pode se referir a esse artigo. Aqui, apresentarei principalmente o principal método de objeto de expressão regular que implementa o código UBB: substituir ().
A sintaxe do método de substituição é o seguinte:
A sintaxe do método de substituição é o seguinte:
descrever
Substitua o texto encontrado na pesquisa de expressão regular.
gramática
Object.Replace (String1, String2)
A sintaxe do método de substituição inclui as seguintes peças:
Descrição parcial
objeto necessário. Sempre o nome de um objeto regexp.
String1 necessário. String1 é a string para a qual a substituição de texto deve ser executada.
String2 necessário. String2 é uma sequência de texto de substituição.
ilustrar
O padrão real do texto substituído é definido através da propriedade padrão do objeto Regexp.
O método de substituição retorna uma cópia de String1, onde o texto regexp.pattern foi substituído por String2. Se nenhum texto correspondente for encontrado, uma cópia da String1 original será retornada.
Em seguida, queremos determinar que tipo de código UBB que queremos implementar no final? As funções do código UBB que queremos implementar desta vez são as seguintes:
URL Hyperlink
Adicione um hiperlink à sua mensagem, basta inserir -a da seguinte maneira (o código UBB é em negrito).
[url] www.test.net [/url]
Ao inseri -lo como acima, o código UBB vinculará automaticamente o URL e garantirá que o link esteja aberto quando o usuário clicar em uma nova janela.
Links de e -mail
Adicione um hiperlink de email à sua mensagem, basta seguir o exemplo a seguir para inseri -lo (o código ubb é em negrito)
[E -mail] [email protected] [/e -mail]
Inserir como acima, o código UBB vinculará automaticamente o email.
Adicione à imagem
Adicione imagens à sua mensagem, basta seguir o exemplo a seguir para inseri -la (o código UBB é em negrito).
[img] http://www.test.net/test.gif [/img]
No exemplo acima, o código UBB deixará automaticamente a imagem ser exibida em sua mensagem.
Outras tags
Existem também essas tags, U Small H1 H2 H3 H4 H5 H6 Strike Blink Sub SupL Pre Big, as funções dessas tags são equivalentes às de HTML
[H1] Este é um título [/H1]
[/tag] é um obrigatório
Deixe um parágrafo de texto ser exibido em cores
Esta é uma etiqueta especial
[#ff0000] Uma palavra vermelha [/#]
#O código rgb hexadecimal da cor seguido por, como o vermelho é FF0000, Green é 00FF00 e azul é 0000ff
Quanto aos métodos de implementação de vários outros códigos UBB semelhantes aos acima, usaremos a implementação do código UBB acima como um exemplo para explicar as poderosas funções dos objetos de expressão regular.
Utilizamos principalmente o método substituir () e o modelo correspondente para implementar facilmente a função de código UBB. Aqui, usamos principalmente duas funções escritas por nós mesmos, o primeiro substituto da função. A função implementada por esta função é principalmente para encapsular o objeto de expressão regular e fornecer três parâmetros de entrada:
Patn
Este parâmetro passa um modelo correspondente para o código UBB
Str
Este parâmetro passa uma sequência que será processada no modo UBB, como o conteúdo do artigo.
Replststr
Este parâmetro passa o idioma de código HTML que o corresponde.
O parâmetro de saída da função substituta é uma string substituída pela correspondência de modelos.
O código de função do substituto é o seguinte:
Função replactest (patn, str, replstst)
Dim Regex, Str1 'cria uma variável.
STR1 = TRIM (STR)
Definir regex = novo regexp 'Crie expressão regular.
regex.pattern = patn 'Set Mode.
regex.ignorecase = true 'Defina se é sensível ao caso.
Replactest = regex.Replace (str1, replstr) 'como substituto.
Definir regex = nada 'Destrua o objeto de expressão regular
Função final
A segunda função que queremos escrever é: função ubb (). A função implementada por esta função é converter uma peça de texto em funções UBB. Esta função possui apenas um parâmetro de entrada:
Str
Este parâmetro passa a sequência a ser processada.
O parâmetro de exportação da função UBB é uma string processada pelo código UBB.
O código da função UBB é o seguinte: (Existem informações detalhadas de comentários no programa)
Função ubb (str)
Dim i, temp 'declarar variável
i = 1
temp =
Faça enquanto instrument
Se acabar (temp) = então
temp = replactest ((/[i]) (/s) (/[/i]), str, <i> $ 2 </i>) 'Modelo de documento correspondência e substituição do código UBB
outro
temp = replactest ((/[i]) (/s) (/[/i]), temp, <i> $ 2 </i>) 'Modelo de documento correspondência e substituição do código UBB
final se
temp = replactest ((/[b]) (/s) (/[/b]), temp, <b> $ 2 </b>) 'Compare modelo de comparação e substituição do código ubb
temp = replactest ((/[big]) (/s) (/[/big]), temp, <big> $ 2 </big>) 'Modelo de documento correspondência e substituição do código UBB
temp = replactest ((/[strike]) (/s) (/[/strike]), temp, <strike> $ 2 </strike> 'Execute a correspondência de modelos e a substituição do código UBB
temp = replactest ((/[sub]) (/s) (/[/sub]), temp, <uns> $ 2 </su>) 'Execute a correspondência de modelo e a substituição do código UBB
temp = replactest ((/[sup]) (/s) (/[/sup]), temp, <pup> $ 2 </pup>)
temp = replactest ((/[pre]) (/s) (/[/pre]), temp, <pre> $ 2 </pre>)
temp = replactest ((/[u]) (/s) (/[/u]), temp, <u> $ 2 </u>)
temp = replactest ((/[small]) (/s) (/[/pequeno]), temp, <mall> $ 2 </mall>)
temp = replactest ((/[h1]) (/s) (/[/h1]), temp, <h1> $ 2 </h1>)
temp = replactest ((/[h2]) (/s) (/[/h2]), temp, <h2> $ 2 </h2>)
temp = replactest ((/[h3]) (/s) (/[/h3]), temp, <H3> $ 2 </h3>)
temp = replactest ((/[h4]) (/s) (/[/h4]), temp, <h4> $ 2 </h4>)
temp = replactest ((/[h5]) (/s) (/[/h5]), temp, <h5> $ 2 </h5>)
temp = replactest ((/[h6]) (/s) (/[/h6]), temp, <h6> $ 2 </h6>)
temp = replactest ((/[vermelho]) (/s) (/[/vermelho]), temp, <font color = vermelho> $ 2 </font>)
'Isso pode adicionar um novo modelo de implementação de código UBB
temp = replactest ((/[email]) (/s) (/[/email]), temp, <a href = Mailto: $ 2 Target = _top> $ 2 </a>)
temp = replactest ((/[img]) (/s) (/[/img]), temp, <img src = $ 2>)
temp = replactest ((/[url]) (/s) (/[/url]), temp, <a href = $ 2 destino = _top> $ 2 </a>)
temp = replactest ((/[#(/s)]) (/s) (/[/#]), temp, <font color = $ 1> $ 3 </font>) 'Execute a correspondência de modelo e substituição do código ubb
i = i 1
laço
Se TRIM (temp) <> então
Ubb = temp 'desmaia a string filtrada pelo código UBB
outro
Ubb = str 'Passe a string filtrada pelo código UBB
final se
Função final
No Código de Função UBB, podemos ver US $ 1, US $ 2, US $ 3, etc. Essas seqüências de strings são pronomes para combinar strings. Assim como algumas macros, podemos usá -las para substituir as strings correspondentes sem precisar usar o programa para lembrar a posição da string correspondente. Através dessas duas chamadas de função simples, implementamos a função de código UBB. Que tal isso, é muito simples.
Dessa forma, precisamos apenas chamar a função UBB ao exibir o artigo, processar o conteúdo do artigo e exibi -lo no navegador e realizar a função de código UBB do fórum. Além disso, você pode adicionar facilmente o modelo de substituição de correspondência de código UBB necessário na função UBB, para que você possa expandir continuamente as funções do seu código UBB.
(Os programas acima são todos executados e passados na versão em inglês winnt4.0 sp5, iis4.0, ie5.x)
Compartilhar: ASP controla 6 códigos muito clássicos para o banco de dados XML No.1-Crie um XML Database Data.xml <? Xml versão = 1.0?