Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    sostituire parte di una stringa delimitata da 1 "simbolo"

    Ciao a tutti

    dovrei sostituire una parte di una stringa con 1 content passato da form.
    esempio:

    codice:
    $mystring = '
    
    <table width="700" border="0" cellspacing="0" cellpadding="0"><tr><td>
    [img]cze_6_AOH.jpg[/img]
    </td></tr></table>
    
    
    
    <table width="700" border="0" cellspacing="0" cellpadding="0"><tr><td>
    [img]cze_6_AOH.jpg[/img]
    </td></tr></table>
    ';
    Io da form passo una parte che dovrei piazzare al posto di tutto quello che è contenuto dentro lasciando inalterato il resto...

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    Codice PHP:
    <?php if (isset($_POST['campo'])) : ?>
    contenuto da form
    <?php else: ?>
    contenuto normale
    <?php endif; ?>

  4. #4
    nickcv grazie per la risposta

    potresti per cortesia spiegarmi quanto hai postato
    codice:
    <?php if (isset($_POST['campo'])) : ?>
    contenuto da form
    <?php else: ?>
    contenuto normale
    <?php endif; ?>
    se non vado errato quanto hai scritto controlla se da post viene passato qualcosa oppure no...
    ma in realtà non era questa la mia domanda

    ------------------------------------------------------

    io ho 1 stringa salvata su database
    stringa esempio:
    [avevo visto un cane volare un giorno]

    ora su questa frase io devo aggiornare il record cambiando tutto quello che è compreso tra UN E UN ...per cui nel mio esempio è:

    un cane volare un

    e lasciare inalterato il resto

    con una sintassi d'esempio quel che devo fare è questo

    avevo visto un $_post['campo'] un giorno

  5. #5
    Se la stringa da sostituire è fissa, puoi fare un semplice str_replace().
    Se vuoi rendere invece la funzione un po' più malleabile, allora devi usare le espressioni regolari e ,
    preg_replace().

    Potresti fare qualcosa del genere.
    Codice PHP:
    // recuperi la frase da inserire scritta nella form
    $str_da_form $_POST['str_da_form'];

    // il testo dove inserire la stringa
    // notare la stringa usata in fondo per indicare 
    // quale sia la parte da sostituire
    $testo_di_base "
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean nec felis tortor, sed porttitor purus. Curabitur commodo urna at lorem pulvinar sit amet mattis sem bibendum. Nullam sit amet odio a arcu ultrices lacinia vel in nulla. 
    #xxxxx#
    "
    ;

    $testo_finale = ("#xxxxx#"$testo_di_base$str_da_form); 
    Ho commentato il codice per farti capire meglio.
    Spero ti sia utile.
    Comunque il preg_replace lo usi quando la stringa da sostituire ha dei caratteri di volta in volta diversi, ma che rispondono ad un criterio logico di qualsiasi tipo.
    Con l'espressione regolare devi andare a codificare il tipo di criterio.
    Per il resto è uguale!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    Rileggendo meglio il post thread, mi rendo conto che lo script che ho scritto è buono per 3/4, ma spero di averti fatto capire il meccanismo!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    modifica il seguente rigo di alcio74

    $testo_finale = ("#xxxxx#", $testo_di_base, $str_da_form);

    con

    Codice PHP:
    $testo_finale str_replace("#xxxxx#"$str_da_form$testo_di_base); 
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  8. #8
    Ahahahahah!
    Maledetto copia-incolla dei nomi delle variabili!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    a me pare più pratico fare un else if controllando post e se post esiste fare un echo del valore della stringa inviata nel punto in cui andrebbe messa (certo se va messa in più punti forse si fa prima col replace...)

    usare lo str_replace senza controllare che post sia pieno risulterà in una sostituzione di testo con una stringa vuota, inoltre non si tiene conto del notice che darebbe php cercando di copiare in una variabile il valore di una variabile non istanziata o.o

  10. #10
    È ovvio che andrebbero fatti tutti i controlli sull'input (non solo di esistenza di valori, ma anche del tipo).
    Lo script che si è scritto qui però serve solo come spunto.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.