Visualizzazione dei risultati da 1 a 4 su 4

Discussione: eregi_replace..ma

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536

    eregi_replace..ma

    Ciao

    le due righe sotto:

    code:
    ...
    $chiave = $_REQUEST['key'];
    $testo = eregi_replace($chiave, "<font color=\"#FF6666\">$chiave</font>",$testo);
    ...




    in pratica trovano la parola chiave
    da me inserita in un form e la "evidenziano"
    in un testo richiamato dal DB da un altro pezzo di codice.

    Il problema è che la sostituiscono pure, nel senso
    che se voglio fare una ricerca nel testo della parola
    "ville" il codice trova la parola esattamente (o villette e va bene lo stesso)
    ma se tale parola è scritta in maiuscolo la sostituisce
    con le lettere minuscole (es: VILLE con ville) e viceversa.

    Vorrei si che ritrovase nel codice
    le parole maiscole o minuscole che siano (e questo
    lo fa senza problema) ma non voglio assolutamente che
    le sostiuisca.

    Vorrei poi estendere la funzionalità della ricerca e
    ricerca anche più di una singola parola
    (ad esempio: "villette a mare che") ma non so come fare
    visto che il codice sopra non è ingrado di farlo e io
    conosco poco il php.

    Grazie e ciao

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova cosi

    codice:
    <?
    $testo = "le VILLE italiane sono tra le più belle del mondo. Les villes françaises sont le città italiennes";
    
    $chiave = "ville"; 
    $testo = eregi_replace("($chiave)", "<font color=\"#FF6666\">\\1</font>",$testo); 
    
    print $testo;
    
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536
    [supersaibal]Originariamente inviato da badaze
    Prova cosi

    codice:
    <?
    $testo = "le VILLE italiane sono tra le più belle del mondo. Les villes françaises sont le città italiennes";
    
    $chiave = "ville"; 
    $testo = eregi_replace("($chiave)", "<font color=\"#FF6666\">\\1</font>",$testo); 
    
    print $testo;
    
    ?>
    [/supersaibal]

    Grande! Funziona.

    Potresti spiegarmi il perchè, per piacere (l'1 cosa fa?)?

    E' possibile fare in modo che la chiave sia composta da 2 parole
    ad esempio: "ville italiane"
    che nel corpo del testo devono ovviamente trovarsi vicino
    (come nella ricerca nei file pdf..non so se hai presente)


    ciao e grazie

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    [supersaibal]Originariamente inviato da lucas726
    Grande! Funziona.

    Potresti spiegarmi il perchè, per piacere (l'1 cosa fa?)?

    E' possibile fare in modo che la chiave sia composta da 2 parole
    ad esempio: "ville italiane"
    che nel corpo del testo devono ovviamente trovarsi vicino
    (come nella ricerca nei file pdf..non so se hai presente)


    ciao e grazie [/supersaibal]
    Allora... Noterai che nel 1° parametro di eregi_replace, $chiave è circondato da parentesi "($chiave)". Queste parentesi consentono di racchiudere il testo "parsato" da php e di metterlo a disposizione nella pseudo variabile //1. Ti faccio un esempio stupido ma che penso ti consentirà di capire.
    Riprendo il tuo problema.

    Prova questo :

    codice:
    <?
    $testo = "le VILLE italiane sono tra le più belle del mondo. Les villes françaises sont le città italiennes";
    
    $testo = eregi_replace("(vi(ll)e)", "<font color=\"#FF6666\">\\1\\2</font>",$testo); 
    
    print $testo;
    
    ?>
    Vedrai che due l sono state aggiunte alle parola "ville " -> villell . Il primo gruppo di parentesi creera una pseudo variabile \\1 ed il secondo una pseudo variabile \\2. La prima contiene "ville", la seconda "ll" preso all'interno della parola "ville"

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.