Que tal Foreros!...
Hoy traigo un tema el cual llevo dando vueltas y vueltas y no doy con la forma.
Tengo un fichero .txt el cual leo y quiero buscar una cadena en concreto o palabra, y que todas las frases que tengan esa
palabra se almacenen en un fichero a parte.
Es decir tengo un texto como el siguiente contenido en un .txt
Código:
Mis palabras de ejemplo(;)palabras de ejemplos(;)nuevo ejemplo(;)termino sin ejemplo
La palabra a buscar es:
ejemplo.
Como ven el .txt tiene cada frase separada por un
(;) por lo que es más fácil encontrar las palabras a separar, aunque no lo he logrado :( .
El resultado de la búsqueda daría un nuevo fichero .txt con estos datos.
Código:
Mis palabras de ejemplo(;)nuevo ejemplo(;)termino sin ejemplo
Eso sería el resultado que quiero, con este resultado luego ejecutaría otro script que tengo ya hecho, para sustituir una palabra en todas las frases separadas por (;)
¿Alguna idea de como realizar esto y buscar esa palabra en un .txt? Y almacenar esas FRASES que contengan la palabra en otro .txt.
Dejo algo de prueba pero no consigo mucho.
Código PHP:
$nombre_fichero = 'keys.txt';
$nombre_fichero = utf8_decode ($nombre_fichero);
$contenido = file_get_contents($nombre_fichero); /*carga contenido*/
$cadena_buscada = "ejemplo";
/*aqui supongo luego de buscar la cadena QUE NO LO HAGO, guardaría el resultado en $contenido y lo pasaría separado por (;) */
$contenido = explode("(;)", $nombre_fichero);
// output final.
$output = array_unique(explode('(;)', $contenido)); /* aqui aun me falta cargar de solo las frases que tengan la palabra buscada */
file_put_contents($nombre_fichero, implode('(;)', $output), LOCK_EX);
Pienso me falta un foreach para recorrer cada una de las palabras buscando con una conicidencia en un IF. pero no doy con ello.
Seguiré intentando.
Espero me puedan ayudar un saludo a todos!!!