supongamos que quiero buscar la cadena "casa grande" pero me debe buscar con prioridad la palabra completa "casa grande" hasta ahi sin problema pero quiero que tambien busque las palabras "casa" y "grande" siempre i cuando casa y grande esten presentes en el documento aunque no juntas siendo valido "casa","casas" y "grande","grandes".
no se si me explico deberia encontrarme cosas como:
"esta es una casa grande"
"mi casa es muy grande"
"mi casita dicen que es grande"
"grandecita es mi casita"
incluso que la captura la haga en ese orden de mayor relevancia, no se si es posible esto, yo estoy intentando hacer pero me quedo bloqueado.
Código PHP:
Ver original
$contenido=" esto es el contendio: esto es una casa grande con mucho jardin aunque dicen que mi casa es grande yo creo que mi casita no es grandecita aunque realmente sea grandecita mi casita "; $expresion="/(^[casa]\s[grande]$ | (((casa[s]?)?|(grande[s]?)?)){1,})(((casa[s]?)?|(grande[s]?)?){1,})/"; echo"<pre>"; echo"</pre>";
la verdad que no me funciona no se si se entiende la idea, segun lei la documentacion de preg_match_all se le puede pasar una bandera en este caso PREG_PATTERN_ORDER que lo que hace es que le pasa al segundo indice el subpatron esto me podria servir siempre y cuando la expresion puesta arriba funcione y al segundo patron se le añada una negacion de encontrar la primera coincidencia, la verdad que ya lo probe sin exito.
saludos