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

    Espressioni regiolari - differenza mysql e php

    Ciao a tutti,

    ho un problemino con le espressioni regolari.. il mio obiettivo è trovare i testi che contengono determinate parole in un db (search) e presentare i risultati con le key sottolineate..

    Ci sono riuscito ma mi sono accorto di una cosa.. cioè che se scrivo "car " per esempio mi ritorna anche "car tellone".. allora ho modificato l'espressione regolare così:

    [[:<:]]attila[[:>:]]|[[:<:]]maurizio[[:>:]]

    Usata con la funzione REGEXP di mysql funziona alla perfezione.. fa il search solo prendendo le parole intere.. però se la uso con preg_replace() di php nn mi sottolinea più le parole.. come mai?

    Sicuramente ho dimenticato una qualche accortezza.. ma nn ne esco..

    Please help me!

    Ciao!

  2. #2
    Nessuna idea?

    Ecco qui la parte di query che ottengo per la ricerca di "soldi camera":

    titolo REGEXP '[[:<:]]soldi[[:>:]]|[[:<:]]camera[[:>:]]' OR testo REGEXP '[[:<:]]soldi[[:>:]]|[[:<:]]camera[[:>:]]'

    Dove titolo e testo sono campi di un db..

    La ricerca nel db funziona.. ma la sottolineatura delle key no..


  3. #3
    Con php usa una sintassi del genere:
    codice:
    $rex = '/\b(parola1|parola2|parola3)\b/i' ;
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  4. #4
    Così la sottolineatura funziona.. ma nn va più più la ricerca.. non è possibile costruire una regexp che funziona sia in mysql che in php?

    Altrimenti dovrei ogni volta riassemblare una opportuna regexp.. e dato che la pagina usa anche ajax per aggiungere e togliere dettagli mi capita che devo continuare a comporre e scomporre regexp..


  5. #5

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.