Foros del Web » Programando para Internet » PHP »

buscar varias palabras en una cadena

Estas en el tema de buscar varias palabras en una cadena en el foro de PHP en Foros del Web. Hola, tengo un problema al que no acabo de dar solucion, a ver si puede alguien iluminarme Tengo un una una cadena de texto en ...
  #1 (permalink)  
Antiguo 16/09/2011, 06:16
 
Fecha de Ingreso: febrero-2004
Mensajes: 88
Antigüedad: 20 años, 2 meses
Puntos: 5
buscar varias palabras en una cadena

Hola, tengo un problema al que no acabo de dar solucion, a ver si puede alguien iluminarme

Tengo un una una cadena de texto en una variable
Código PHP:
<?php
$texto
='Foros del Web tiene nuevo diseño. Llevame al futuro!';
?>
lo que necesito es buscar en esa cadena varias palabras, de modo que si aparece alguna de las que busco, me imprima la cadena
por ejemplo buscar
Código PHP:
'tiene' 'futuro' 'nuevo' 
Gracias por la atencion y saludos
  #2 (permalink)  
Antiguo 16/09/2011, 06:26
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: buscar varias palabras en una cadena

Puedes usar preg_match

Sería algo asi

Código PHP:
$texto='Foros del Web tiene nuevo diseño. Llevame al futuro!'

if(
preg_match('/tiene|futuro|nuevo/'$texto)) {
    
//Coincide ALGUNA palabra :) !
}
else {
    
//No se ha encontrado coincidencias

Te lo digo de memoria, asiq puede estar mal ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 16/09/2011, 06:27
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: buscar varias palabras en una cadena

Puedes usar expresiones regulares o crea esas palabras en un array y luego recorre el array y con strpos puedes verificar si existe o no. Algo como
Código PHP:
Ver original
  1. <?php
  2. $find = array('tiene', 'futuro', 'nuevo');
  3. $texto='Foros del Web tiene nuevo diseño. Llevame al futuro!';
  4. foreach($find as $v){
  5.     if(strpos($text, $v) !== false){
  6.         echo $text . '<br />';
  7.         break;
  8.     }
  9. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 16/09/2011, 06:37
 
Fecha de Ingreso: febrero-2004
Mensajes: 88
Antigüedad: 20 años, 2 meses
Puntos: 5
Respuesta: buscar varias palabras en una cadena

Eleazan y abimaelrc gracias por vuestra atencion,
He probado con preg_match y funciona perfecto, no se donde tengo la cabeza a veces.
Muchisimas gracias

Etiquetas: palabras, variables, cadenas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:31.