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

Discussione: replace particolare

  1. #1

    replace particolare

    salve a tutti, mi sono appena iscritto
    vorrei un aiuto su un replace un po' particolare
    in pratica di una data variabile:

    $test = "qualsiasi testo lunghezza con numeri 102012 caratteirspeciali <>';\"&amp;nbsp; eccetera vorrei fare un replace della seguente stringa: %incid5% dove 5 un numero variabile a 1 o + cifre";

    es:

    $daincludere = mysql_query("select * from includes where id = '_NUMEROVARIABILE_'");
    $riga = mysql_fetch_assoc($daincludere);
    $testmodificato = str_replace("%incid_NUMEROVARIABILE_%", $riga['miocampo'], $test);

    l'esempio dovrebbe rendere bene ma se non mi sono spiegato cercherò di rifarlo meglio...

    mi hanno detto di lavorare con le funzioni stringa ma io volevo considerare la possibilità data dalle espressioni regolari (forse dico una stupidaggine?) in php sono un assoluto newbie...


    grazie 1k in anticipo

    ciao, Ema
    Ciao, Emanuele

  2. #2
    chiedo scusa forse non si è capito, il problema è, a parte questo replace, anche cercare di ciclizzare il replace a seconda di quanti sono gli %incidN% nella stringa originale

    se ci sono %incid5% %incid4% e %incid7% in $test, ad esempio bisogna fare il replace per tre volte per ciascun id

    questo se mi ci metto credo di saperlo fare anche io.. il problema è sempre l'espressione regolare..
    dovrei fare while (%incidN% è dentro $test) { eseguo il ciclo }

    giusto? non ridete pls
    Ciao, Emanuele

  3. #3
    se ho capito bene... prova a usare

    $test = "qualsiasi testo lunghezza con numeri 102012 caratteirspeciali <>';\" eccetera vorrei fare un replace della seguente stringa: %incid5% dove 5 un numero variabile a 1 o + cifre";
    $daincludere = mysql_query("select * from includes where id = '_NUMEROVARIABILE_'");
    $riga = mysql_fetch_assoc($daincludere);
    $testmodificato = preg_replace("/(.*)%incid[1-9]+%(.*)/", '\1'.$riga['miocampo'].'\2', $test);

    ma non sono assolutamente sicuro :P
    visitate http://camicio.altervista.org per caxxate varie :d

  4. #4
    grazie per cominciare va sicuramente benissimo se me la spieghi un po' ti posso aiutare ad aiutarmi

    ho letto l'articolo su php.html.it ma sinceramente 4 pagine senza esempi non mi hanno fatto capire granchè... vabbè

    allora:

    /(.*)%incid[1-9]+%(.*)/

    / iniziale che significa?

    (.*) nella parte iniziale potrebbero esserci anche degli acapo

    %incid ok
    [1-9]+ il più che significa? cmq l'id potrebbe essere anche superiore a 9...

    e poi /

    grazie e scusa per l'orario

    buon ferragosto
    Ciao, Emanuele

  5. #5
    rinnovo
    Ciao, Emanuele

  6. #6

    avanti raga!

    consigliatemi almeno una guida decente alle espressioni regolari... in italiano non c'è nulla
    Ciao, Emanuele

  7. #7
    non ho capito se funziona... vabbè

    le espressioni regolari devono iniziare e finire con lo stesso carattere... quindi questo è il / iniziale
    (.*) indica qualunque carattere (tranne newline penso... ma non so come risolvere :d)
    [1-9]+ indica un carattere compreso tra l'intervallo 1-9 ripetuto piÙ volte... quindi un numero
    / come sopra
    visitate http://camicio.altervista.org per caxxate varie :d

  8. #8
    grazie camicio.. sei l'unico che mi ha degnato di un aiuto... sto iniziando a pensare che forse non si può fare questo replace.... che poi tra l'altro bisogna salvare l'id in una variabile per poter fare la query


    $test = "qualsiasi testo lunghezza con numeri 102012 caratteirspeciali <>';\" eccetera vorrei fare un replace della seguente stringa: %incid5% dove 5 un numero variabile a 1 o + cifre";
    >>
    $daincludere = mysql_query("select * from includes where id = '_NUMEROVARIABILE_'");
    >>
    $riga = mysql_fetch_assoc($daincludere);
    $testmodificato = str_replace("%incid_NUMEROVARIABILE_%", $riga['miocampo'], $test);

    Ciao, Emanuele

  9. #9
    provo a tirarlo su non si sa mai se qualcuno mi vuole ancora aiutare ... delle espressioni regolari non sono riuscito a trovare niente, l'articolo su freephp mi spiace dirlo, non ve la prendete, è abbastanza superficiale, e soprattutto privo di esempi commentati... missà che un libro cartaceo è d'obbligo
    Ciao, Emanuele

  10. #10
    http://it.php.net/manual/it/pcre.pattern.syntax.php

    Oppure cerca "espressioni regolari" su google.



    Trovi anche una "pillola"

    http://forum.html.it/forum/showthrea...hreadid=392715

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.