Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19
  1. #11
    Scusa se rispondo dopo un po' di tempo ma mi ero scordato di provare la tua soluzione. ora l'ho provata ma anche aggiungendo la i viene modificato il testo originale con quello cercato (come eregi_replace)
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  2. #12
    Forse non ho capito di preciso cosa ti serve, ma puoi provare così.

    Codice PHP:
    $val strtolower($val);
    $risultato eregi_replace $val "[b]$val[/b]$query); 
    In questo modo, scrivi la chiave di ricerca in minuscolo e dovresti evitare i problemi che ti si sono creati.

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

  3. #13
    Il mio problema è che non riesco ad evidenziare le parole che vengono cercate nel mio script di ricerca senza modificare la vista del testo originale

    questa è la frase originale scritta da me

    Mauro mangia la mela

    Un utente cerca MeLa (scritto cosi per far capire in maniera migliore quello che no voglio che avvenga) e tramite eregi_replace viene sostituito mela (parola scritta in maniera corretta) con MeLa (la parola cercata dall'utente) e questo è il risultato

    Mauro mangia la MeLa

    Quello che vorrei ottenere è che in qualsiasi modo l'utente scriva la parola essa venga evidenziata ma in maniera corretta. Riprendendo l'esempio di sopra il risultato che vorrei mostrare all'utente che cerca MeLa è:

    Mauro mangia la mela
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  4. #14
    Allora prova quello che ti ho scritto io.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #15
    Il problema si è risolto solo in parte, in quanto se per esempio cerco MeLa e la parola ricercata nel testo è minuscola, avviene la corretta sostituzione e quindi ottengo quello che voglio. Il problema ora è se la parola ha la prima lettera maiuscola o se nella parola ci sono lettere maiuscole allora vengono sostituite con le lettere minuscole.

    Quello che vorrei ottenere come risultato è lo stesso dei motori di ricerca vedasi Google, Yahoo e chi più ne ha più ne metta ovvero che vengano mantenute le parole scritte correttamente e che venga aggiunto un tag prima e dopo la parola
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  6. #16
    Non so se è il caldo o l'aterosclerosi, ma rileggendo bene il tuo ultimo post capisco di non avere capito ancora quello che ti serve.

    Se devi aggiungere solo dei simboli (che siano tag o meno) ad una stringa, allora ti basta usare str_replace()..... senza stare a modificare nulla!!!

    Codice PHP:
    $val $_POST['val']; // la chiave di ricerca
    $risultato "xxxxx"// il testo in cui cercare la chiave 

    $risultato str_replace ($val "[b]$val[/b]$risultato); 
    Ma possibile che la soluzione al tuo problema sia così semplice??? Ho capito male anche stavolta????

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

  7. #17
    No non funziona.

    Provo nuovamente a spiegare il mio problema.

    Provate a cercare la seguente parola in google: GooGLE
    vedrete che google vi ritorna tutti i risultati riguardanti la parola cercata e se ne frega di come noi l'abbiamo scritta (con 4 lettere maiuscole) lui evidenzia sia quelle scritte con le lettere minuscole (per esempio www.google.com) sia quelle con lettere maiuscole (Il sito di Google). Bene questo è quello che vorrei ottenere.


    Invece a me capita questo.
    Se io utilizzo eregi_replace e cerco GooGLE nel mio motore di ricerca, mi vengono evidenziate tutte le parole uguali ma anche sostituite con quanto cercato, per esempio mi sarebbe tornato www.GooGLE.com oppure Il sito di GooGLE. Praticamente il pregio di eregi_replace è che non è case sensitive quindi sia che google sia scritto in maiuscolo o meno lui individua la parola e la evidenzia, solo che per evidenziarla io gli dico di sostituirla con la parola cercata, ma cosi viene sostituita. Non c'è un modo per lasciare integra la parola originale (quella presente nel database) e non farla sostituire a quella cercata?

    Io vorrei una roba simile
    $val = GooGLE // L'utente cerca la parola GooGLE
    $testoDoveVieneCercata = "Il sito di Google"

    $mostroLaParolaEvidenziata = "Il sito di Google"


    il fatto è che non so come ottenere questo risultato.
    Si è capito meglio cosi?
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  8. #18
    OK, ora va meglio e per risolvere.... basta che tu preveda delle opzioni.

    La chiave di ricerca la puoi evidenziare così com'è, oppure fare delle proposte, tipo scriverla tutta in minuscolo.

    Butto giù un po' di codice così capisci meglio.
    Codice PHP:
    $val $_POST['val']; // la chiave di ricerca come scritta dall'utente 
    $risultato "xxxxx"// il testo in cui cercare la chiave 

    $val1 strtoupper($val);
    $val2 strtolower($val);

    $risultato str_replace ($val "[b]$val[/b]$risultato);
    $risultato str_replace ($val1 "[b]$val1[/b]$risultato);
    $risultato str_replace ($val2"[b]$val2[/b]$risultato); 
    Sostanzialmente, un utente può scrivere la parola come meglio crede, e te gliela vai a cercare.
    Ma puoi anche suggerirgli la stessa parola, magari scritta tutta in maiuscolo oppure tutta in minuscolo.

    Fatto sta, che per creare un vero e proprio motore di ricerca intelligentre, si preferisce usare il MATCH/AGAINST di MySQL, che permette di avere anche la percentuale di corrispondenza tra la chiave cercata ed il testo in cui la ricerca viene effettuata.
    Diciamo che il metodo che ti ho appena segnato è piuttosto artigianale, ma almeno dovrebbe funzionare.

    Un piccolo appunto.
    eregi_replace() come lo usi te è inutile.
    Questa funzione è meglio utilizzarla quando il pattern di ricerca è una espressione regolare.... per manipolare una stringa in maniera semplice è meglio utilizzare str_replace().
    Fai riferimento al manuale ufficiale per maggiori dettagli.

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

  9. #19
    prova con str_ireplace

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 © 2026 vBulletin Solutions, Inc. All rights reserved.