Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problema con un Replace

    Aiuto!
    Ho questa porzione di codice:
    codice:
    Str = Replace(Str, rsSmiley.Fields.Item("SmiCode").Value, "[img][/img]", 1, -1, 1)
    che, all'interno di un blocco di testo, mi sostituisce i vari "emoticons" :) ;) :/ con le rispettive icone (un po' come questo forum)
    Il problema è che proprio l'emoticon :/ interferisce con la parte "http://", dove ai due punti + slash viene sostituita l'immagine, con risultati disastrosi del tipo:
    codice:
    [img]http<img src=[/img]/ localhost/public/iwsmileys/happy.gif"
    (in rosso è evidenziata la sostituzione "sbagliata")

    Che posso fare? Ho provato a sostituire :// dell'http con i caratteri ampersand, ma niente da fare...

    Aiutooo!
    ...e Grazie!

  2. #2
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    forse sono io che non ho capito l'uso dello script che hai fatto ma
    perchè usi un percorso assoluto "http://localhost..."
    quando puoi usare un semplice [img]/public/public/iwsmileys/angry.gif[/img]?
    Devi utilizzare il tutto in un email?

  3. #3
    Ok :-)
    Il percorso strPublicPath è un percorso "mobile", non fisso, definito dall'utente in un particolare file di configurazione:
    codice:
    strPublicPath = "/public/iwsmileys"
    Oppure
    codice:
    strPublicPath = "/giacomino/public"
    oppure altre cose ancora...
    Dal momento che non so a priori quale possa essere il percorso definito dall'utente (e quindi non mi conviene usare percorsi relativi), preferisco usare percorsi assoluti con http://

    E mo'come faccio?

  4. #4
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    scusa non ho capito cosa contiene rsSmiley("SmiCode")

    stampa a video quello che poi vediamo

  5. #5
    rsSmiley("SmiCode") contiene un codice emoticon (insomma, una "faccina"; ad es. :) oppure ;) oppure ancora :D oppure ^_^ ): ad ognuno di questi codici, al runtime, viene assegnata una corrispondente immagine .gif.. le correlazioni tra codice e immagine .gif sono contenute in un database, e sono definite dall'Amministratore, che può aggiungere, modificare e cancellare codici e imagini
    E' lo stesso identico funzionamento di questo forum: se io digito :) [e NON checko la dicitura "Disabilita le faccine in questo messaggio"], al runtime mi ritrovo il classico smiley che sorride, oppure se scrivo ":fagiano:", al runtime mi ritrovo la corrispondente immagine con i dentoni..
    Il problema è che nella voce "http://" la porzione ":/" viene riconosciuta come "faccina" e cambiata con l'immagine corrispondente...
    la stampa a video è esattamente quella che ho scritto prima:
    codice:
    [img]http<img src=[/img]/ localhost/public/iwsmileys/happy.gif">

  6. #6
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    Cmq i percorsi saranno tutti sul tuo server non è che sono a giro per il mondo quindi non vedo l'utilita di usare serverName cmq
    la stampa a video è esattamente quella che ho scritto prima:
    Si avevo capito ma volevo sapere cosa conteneva SmiIcon prima del replace perchè se per dire SmiIcon è per fare un esempio 'fagiano.gif'

    si puo' trradurre cosi

    codice:
    <%
    VARcode   = Rs("SmiCode") ' :fagiano
    VARcaption   = Rs("SmiCaption") 'arrabbiato
    VARsmicon    = Rs("SmiIcon") 'fagiano.gif 
    str = "Scusa :fagiano, non mi ero accorto"
    str = Replace(str,VARcoDE,"[img][/img]")
    Response.Write(str)
    'output Scusa [img]/public/giacomino/fagiano.gif[/img], non mi ero accorto.
    %>

  7. #7
    uhm... eppure questa cosa non mi risolve il problema, perchè presuppone che i vari files .asp siano nella stessa cartella di "public", ad es:

    default.asp
    messaggi.asp
    public
    giacomino

    ecc...

    e... aspetta che in questo momento ho avuto un insight! credo di aver trovato la soluzione, ma devo tornare a casa per poter mettere mano ai files! :-)

  8. #8
    Ok, ho risolto mettendo un doppio ../ ; ho fatto 4 calcoli ed ho visto che andava bene anche così...

    Grazie cmq!

  9. #9
    Uhm... il problemino si ripresenta quando l'utente digita, per qualche ragione, la dicitura http://eccetera.eccetera (ad esempio perchè sta scrivendo un link); come già fatto presente, i due punti e lo slash vengono "riconosciuti" come faccina e cambiati con la .gif corrispondente...

    Esiste un modo per dire al programma "fammi il replace di tutti i :/ con la relativa faccina, TRANNE quelli che fanno parte di http://, ftp://, ecc..."? Non lo so fare...

    Grazie!
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  10. #10
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    cerca regexp replace e studiati la funzionalita' credo che quello che tu voglia sia il metacarattere \b che vuol dire carattere di confine
    quindi \b[ICONA]\b

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.