Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: Pulizia testo

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    81

    Pulizia testo

    Salve a tutti.
    Vi espongo subito il mio problema:
    ho una variabile $html che contiene del codice HTML, dove figurano dei tag e e alcuni link.
    Il problema è che i tag [b] compaiono anche all'interno dell'attributo HREF del tag <a>, rendendo di fatto gli indirizzi dei collegamenti sbagliati.
    Mi chiedevo, come posso pulire all'interno degli attributi HREF eventuali tag [b] preservando i tag che correttamente si trovano all'esterno?

    Grazie in anticipo.

    ps: mi han suggerito di utilizzare le espressioni regolari ma non so proprio come.

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Se si tratta solo del tag strong un semplice str_replace basterà.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Bhe, mi è sembrato di capire che la tua esigenza è ti eliminare solo alcuni tipi di tag, la miglior soluzione a mio parere e andare a sostituire/eliminare nella tua stringa i tag che indesiderati, la funzione che ti serve è str_replace(string,string,string);

    Ecco un'esempio, se vuoi eliminare i tag e e la stringa che li contiene è $stringa.

    <?
    $stringa = str_replace("","",$stringa);
    $stringa = str_replace("
    ","",$stringa);
    ?>

    In pratica tutte le occorrenze di e nella stringa vengono sostituite con una stringa vuota, infatti questa funzione serve proprio a sostituire dei caratteri con degli altri in una stringa.

    Spero di esserti stato utile.
    Ciao
    ----FIREANTOLOGY-----
    Informative system developer

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    81
    Forse mi sono espresso male.
    A me serve di eliminare questi tag solo all'interno dell'attributo HREF dei collegamenti, non in tutto il contenuto della variabile.

  5. #5
    Allora ti suggerisco di tagliare la testa al toro, come fai a trovarti degli strong tra gli HREF se spieghi meglio il perchè possiamo risolvere il problema alla radice.
    Ciao
    ----FIREANTOLOGY-----
    Informative system developer

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    81
    Essenzialmente perchè applico il tag strong a tutti i numeri presenti in un testo (contenuto nella var $html).
    Poi vado a minimizzare il numero dei tag [b], ad esempio avendo un li cancello con una str_replace. Però quando vengono inseriti la prima volta non fa distinzione l'algoritmo e li inserisce eventualmente anche nell'attributo HREF se questo ha un indirizzo in cui compaiono dei numeri.

  7. #7
    Se quando inserisci li string usi un ciclo controllando carattere per carattere potresti quindi verificare l'eventuale presenza di un'apertura di un tag e non agire fino a quando non individui la chiusura, ma non so se tu usi effettivamente un ciclo per l'aggiunta degli strong.
    ----FIREANTOLOGY-----
    Informative system developer

  8. #8
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    ciao prova così lo fatta al volo:
    Codice PHP:
     print ereg_replace('(^href=)?[a-z0-9A-Z]+^([b])',"",$stringa); 

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    81
    @fireantology:
    utilizzo una semplice str_replace di ciascun numero con il numero racchiuso tra

    @mariox:
    non funziona

  10. #10
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    che errore ti dà?
    che cosa ti visualizza?

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.