Ver Mensaje Individual
  #7 (permalink)  
Antiguo 25/01/2015, 15:48
carlostitoi
 
Fecha de Ingreso: abril-2013
Ubicación: Envigado
Mensajes: 18
Antigüedad: 11 años
Puntos: 3
Respuesta: Buscar cadena en Txt y almacenar frase coincidentes en otro fichero

Me voy a saltar la parte en la que lees el archivo e ingresas los valores en una variable porque asumo que eso ya sabes de sobra como hacerlo.

Código PHP:
// Tenemos el siguiente string:
    
$textoInicial 'Esto es un texto ejemplo;Con frases separadas por punto y coma;en donde solo debo extraer las frases que contengan la palabra "ejemplo"; pero no las que contengan ejemplos';
    
    
// en primer lugar creamos un array con cada frase tomando como item delimitador el punto y coma (;)
    
$arrayFrases explode(";"$textoInicial);
    
    
// Imprimimos el array
    
echo '<pre>';
    
var_dump($arrayFrases);
    
    
// Recorremos el array y para cada indice evaluamos si existe la palabra "ejemplo"
    
foreach($arrayFrases as $indice => $frase){
        if (
preg_match("/ejemplo\b/"$frase)) {
            
// Cuando encontramos que la palabra existe, creamos un nuevo array con esa frase
            
$nuevoArrayFrases[] = $frase;
        } 
    }
    
    
// Imprimimos nuestro nuevo array
    
echo '<pre>';
    
var_dump($nuevoArrayFrases);
    
    
// Una vez que ya tenemos el array, lo convertimos en un string
    
$nuevoTexto implode(";"$nuevoArrayFrases); 
A partir de este punto simplemente tienes que crear el nuevo archivo con tu nuevo string.

Espero te sirva.

Salu2

Nota: Porque usar preg_match(): La razón de usar la funcion preg_match radica unicamente en que la busqueda que debes hacer debe encontrar una similitud exacta, "ejemplo", de lo contrario si usaras strpos, encontraria similitudes en frases con palabras como "EjEmPlo", "ejemplos", "ejemplossss" etc.
El condicional /b obliga a preg_match a encontrar una similitud exacta del texto incluyendo mayusculas, minúsculas y longitud de la palabra.