Buscar frases que contenham uma palavra com expressões regulares

  • Autor Autor engonga
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
engonga

engonga

Dseda
Verificación en dos pasos activada
hola tengo un listado de frases

Enviar mail
Cómo enviar un mail
enciar una carta
errores de un mail
cosas que no tienes que hacer
Mil emails
Enviar amails
collares de perros
fotos de perros
fotos de perros enviadas por email
email efectivo

No se como hacer una expresion regular que me saque las fraes que contengan la palabra email (las que están en negrita)
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Podrías explicar un poco mejor lo que deseas hacer? Creo que no esta muy claro
 
Solución con función stristr

Ahí te paso una solución, sin usar expresiones regulares. Espero que te sirva.

PHP:
function buscar_palabra($palabra, $frases){
    $resultado = array();
    foreach($frases as $frase){
        if (stristr($frase, $palabra) === FALSE){
            $resultado[] = $frase;
        }
    }
    return $resultado;
}

$muchas_frases[] = 'Enviar mail';
$muchas_frases[] = 'Cómo enviar un mail';
$muchas_frases[] = 'enciar una carta';
$muchas_frases[] = 'errores de un mail';
$muchas_frases[] = 'cosas que no tienes que hacer';
$muchas_frases[] = 'Mil emails';
$muchas_frases[] = 'Enviar amails';
$muchas_frases[] = 'collares de perros';
$muchas_frases[] = 'fotos de perros';
$muchas_frases[] = 'fotos de perros enviadas por email';
$muchas_frases[] = 'email efectivo';

$frases_sin_email = buscar_palabra('email', $muchas_frases);

echo '<pre>';
print_r($frases_sin_email);
echo '</pre>';
 
No entendí bien tu "que me saque", quieres conseguir solo las frases que tienen la palabra o quieres eliminar esas?

Bueno, siguiendo el ejemplo del compañero de tener las frases en un array:

PHP:
$emailPhrase = array_filter($muchas_frases, function($str) {
    return (stripos($str, 'email') !== false);
});

var_dump($emailPhrase);

esto te daría solo las que contienen la palabra, en caso de que lo que quieres es lo contrario solo cambia !== por ===.

Saludos.
 
Voltar
Topo