Foros del Web » Programando para Internet » PHP »

Buscar una palabra en una variable

Estas en el tema de Buscar una palabra en una variable en el foro de PHP en Foros del Web. Hola amigos: En el siguiente código leo un archivo de texto y los datos son enviados a la base de datos. Cita: ...... ..... $link=conectar(); ...
  #1 (permalink)  
Antiguo 02/03/2010, 05:21
Avatar de principiantedelphp  
Fecha de Ingreso: febrero-2010
Mensajes: 160
Antigüedad: 14 años, 1 mes
Puntos: 1
Buscar una palabra en una variable

Hola amigos: En el siguiente código leo un archivo de texto y los datos son enviados a la base de datos.


Cita:
......
.....
$link=conectar();
mysql_query ("SET NAMES 'utf8'");
$lines = file('maths.txt');
foreach ($lines as $line_num => $line) {
mt_srand (time());
$media=10;
$math=rand(3,150);
$url=$datos[0];
echo $url;
$nombre=$datos[1];
$descripcion=$datos[2];
$variablesestimadas=$datos[3];
$nuevo=$datos[4];
$q = "INSERT INTO rank (media, math, nombre, descripcion, url, variablesestimadas, nuevo) values ('$media', '$math', '$nombre', '$descripcion', '$url', '$variablesestimadas', '$nuevo')";
$datos = explode("\t", $line);
mysql_query($q, $link);
......
.....
Supongamos la variable $nombre="La fisica se basa en el nucleo atomico". Ahora quiero que la palabra "fisica" (solo esa palabra) se copie a la variable $nuevo.
El problema es que NO SE en que posicion se encuentra la palabra que quiero copiar, pero si se que palabras son:
Matematica
Fisica
Quimica
Biologia
Por ej: si encuentra la palabra matematica, haga que el valor de la variable $nuevo valga "matematica". Eso nada mas.
Bueno, cualquier ayuda, bienvenida.
  #2 (permalink)  
Antiguo 02/03/2010, 08:14
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Buscar una palabra en una variable

pues utiliza por ejemplo strpos ahora mismo no recuerdo la sintaxis pero miralo en la pagina de php busca strpos.
  #3 (permalink)  
Antiguo 02/03/2010, 08:57
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Buscar una palabra en una variable

Como dijo djrony, puedes usar strpos :

Código PHP:
Ver original
  1. $nuevo = "";
  2. $frase = "La fisica se basa en el nucleo atomico";
  3. $palabras = array(
  4. 'matematica',
  5. 'fisica',
  6. 'quimica',
  7. 'biologia');
  8.  
  9. foreach($palabras as $palab) {
  10.    if(stripos($frase, $palab)) {
  11.         $nuevo = $palab;
  12.         break;
  13.    }
  14. }
  15. echo $nuevo;

Uso stripos, ya que si buscas una palabra con minusculas, pero está con mayúsculas en la frase, no la encontrará. Stripos busca sin tener en cuenta minúsculas y mayúsculas.

Le puse un break al bucle, ya que pueden haber 2 o más palabras buscadas en una misma frase, así que devolverá la 1era que busques, siempre y cuando la encuentre. Lo que ocurrirá, será esto :

Supongamos tienes la siguiente frase : "La fisica necesita de las matematicas", y tienes un arreglo de palabras con el siguiente orden : array('matematicas','fisica','...');

Ya que el orden del arreglo comienza con 'matematicas', buscará esta palabra y como la encontrará, la devolverá y dejará de buscar, sin importar que se encuentre también 'fisica' dentro de la frase. Espero te haya quedado claro.

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.

Etiquetas: palabra, variables
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 14:54.