Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Regular Expressions

  1. #1

    Regular Expressions

    Buongiorno a tutti. Io ho un campo di testo di tipo textarea . Ho creato del codice bbcode per le immagini del mio sito di questo tipo: [IMG=154] dove 154 è chiave primaria di una tabella del database immagini. Mi chiedo se fosse possibile attraverso le regular expression di sostituire tutte le occorrenze del tag con <img src=...> ovviamente bisogna anche connettersi al db per prendere il nome dell'immagine dato l'id pkkey.

    Io ho già creato la regula rexpression in quesot modo:

    Set RegularExpressionObject = New RegExp
    With RegularExpressionObject
    .Pattern = "\[IMAGE=([^\]]+)\]"
    .IgnoreCase = True
    .Global = True
    End With
    strtxt(cap) = RegularExpressionObject.Replace(strtxt(cap), "[img][/img]")
    Set RegularExpressionObject = nothing
    Set RegularExpressionObject = nothing

    Ovviamente iònon funziona : $1 viene letta solo attraverso il replace delle regexp.. leggi(id) è la funzione che dato l'id restituisce il nome del file connettendosi al db. Qualcuno mi può aiutare?

  2. #2
    Forse prima non sono stato chiaro, per farvi capire meglio, io ho questo script:
    Set RegularExpressionObject = New RegExp
    With RegularExpressionObject
    .Pattern = "\[IMAGE=([^\]]+)\]"
    .IgnoreCase = True
    .Global = True
    End With
    strtxt(cap) = RegularExpressionObject.Replace(strtxt(cap), "[img][/img]")
    Dove la funziona leggi(id) è la funzione che restituisce il nome dell'immagine dato in input il numero id. Il problema èp ke $1 risulta vuota xò lo script funziona , $1 ovvero la variabile che dovrebbe contenere il numero id nn è visibile, qualcuno sa quaolke trukketto?

  3. #3
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao kalavinus,

    purtroppo in VBScript non so come si possa usare una funzione tra i parametri del replace della regular expression
    però puoi sempre fare un ciclo e sostituire singolarmente i vari match con l'immagine prendendo l'id dal submatch
    codice:
    set ris = RegularExpressionObject.Execute(strtxt(cap))
    for each rr in ris
      strtxt(cap)=Replace(strtxt(cap),rr, "[img][/img]")
    next

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.