Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [PHP] Help con replace

    Salve a tutti!

    Devo fars si che tutto quello contenuto fra

    <div id=visi style="display:none;">
    e il successivo
    </div>

    Venga eliminato... mi suggerite come?
    Guybrush Threepwood

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Ok, la funzione che cercavo è questa... vediamo se capisco bene

    Intanto per comodità cambio il <div...> con un codice


    Codice PHP:
    $file=str_replace('<div id=visi style="display:none;">','#DIV_INIZIO#',$resume)
    $resume=str_replace('</div>','#DIV_FINE#',$file); 
    Poi creo la funzione

    Codice PHP:
    $replace=""// e qui ci siamo...
    $search="#DIV_INIZIO#*#DIV_FINE#";
    $filepreg_replace($search$replace$file); 
    Però non ho capito bene cosa inserire nel $search fra il #DIV_INIZIO# e il #DIV_FINE# per dire di considerare tutto l'interno... basta l'asterisco?
    Guybrush Threepwood

  4. #4
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    no... così non va... datemi una mano
    Guybrush Threepwood

  5. #5
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    up
    Guybrush Threepwood

  6. #6
    prova con questo:

    Codice PHP:
    $nuovotesto preg_replace('%(<div id=visi style="display:none;">)(.*?)(</div>)%si''$1$3'$testo); 

  7. #7
    Mi sono accorto che nel codice che ti ho postato sono stati aggiunti due spazi che non dovrebbero esserci e che non riesco a togliere (?!?)...

    gli spazi incriminati sono quelli tra:

    <div id=visi style="display:none;"> e )

    e tra

    </div> e )

    toglili tu altrimenti non ti funziona

  8. #8
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Originariamente inviato da yangtze
    prova con questo:

    Codice PHP:
    $nuovotesto preg_replace('%(<div id=visi style="display:none;">)(.*?)(</div>)%si''$1$3'$testo); 
    no, così non me lo fa (però non mi da errore)

    FAcendolo con i codici che dicevo prima, sarebbe corretto questo?

    $nuovotesto = preg_replace('%#DIV_INIZIO#)(.*?)(#DIV_FINE#)%si', ', $testo);

    Per cosa stanno $1 e $3?
    Guybrush Threepwood

  9. #9
    A me funziona però probabilmente non hai ancora letto il mio post sugli spazi

  10. #10
    Per quanto riguarda $1 e $3:

    il primo, cioè $1, crea un riferimento a (<div id=visi style="display:none;">)

    il secondo, cioè $3, crea un riferimento a (</div>)

    il $2, che qui non vedi, sarebbe la terza incognita, ovvero (.*?), cioè tutto ciò che è compreso tra i due div

    Quindi quando scrivo '$1$3' gli dico di lasciare il primo e il terzo blocco mettendo uno spazio vuoto tra i due (per questo $1 e $3 sono attaccati.

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.