Foros del Web » Programando para Internet » PHP »

Buscar en un string

Estas en el tema de Buscar en un string en el foro de PHP en Foros del Web. Imaginemos que saco los datos de una BBDD y los meto en un array, luego quiero buscar el el array una palabra, lo he intentado ...
  #1 (permalink)  
Antiguo 14/02/2002, 08:32
 
Fecha de Ingreso: febrero-2002
Mensajes: 10
Antigüedad: 22 años, 9 meses
Puntos: 0
Buscar en un string

Imaginemos que saco los datos de una BBDD y los meto en un array, luego quiero buscar el el array una palabra, lo he intentado con varias funciones pero me temo que no las he utilizado bien ya que siempre pasaba de mi, como puedo hacer ver solo los resultados que coincidan total o parcialmente con el string buscado?

Lo quiero asi en lugar de buscar en la BBDD directamente para sopesar los tiempos de espera y todas estas cosillas, vamos, para hacer un script mas rapido. Ademas espero que se pueda hacer uso del array todas las veces que se quiera para reordenar los datos sin volver que tener que acceder a la BBDD.

Gracias.
  #2 (permalink)  
Antiguo 14/02/2002, 10:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Re: Buscar en un string

Puedes recurrir a un simple bucle que lea el array y una comparacion tipo "IF".

Seria algo asi:

$string_busca = "cosa";
$x=0
while (count($array) < $x){
if (ereg($string_busca,$array[$x]) {
//Haces lo q tengas q hacer
}
$x++;
}

Esto es lo que pone el manual de PHP (<a href='ir.asp?http://www.php.net' target='_blank'>http://www.php.net...</a>) sobre la funcion ereg. Revisa el manual ...

ereg(&quot;abc&quot;,$string);
/* Devuelve true si &quot;abc&quot;
se encuentra en $string. */


Un saludo,
  #3 (permalink)  
Antiguo 14/02/2002, 10:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Re: Buscar en un string

Ahh.. un consejo ..
El uso de Array consume mucha memoria de tu servidor .. si tienes los datos en bases de datos, seria incluso mas rapido hacer las consultas directamente sobre la Base de Datos .. sobre todo en el tema de ordenar y extraer ciertos grupos de datos. De esta forma no haces un trabajo de sacar los datos al array para luego perder mas tiempo en ordenar el array mientras que podias haber echo una consulta directa y ordenada de los datos que vas a presentar.

Un saludo,
  #4 (permalink)  
Antiguo 14/02/2002, 11:06
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años, 7 meses
Puntos: 0
Re: Buscar en un string

Hola, coincido con Cluster, hacer ese tipo de consultas a la BD seria mas eficiente. Si tienes que realizar busquedas de texto en tu base de datos tipo &quot;buscador&quot; te recomiendo que uses indices FULL TEXT, ya que son especiales para este tipo de cosas. Si tenes MySQL revisa la documentacion que esta bien explicado.

Saludos!

<font face=Verdana size=2 color=#006699>Nok;)<br>Juan Pablo Winiarczyk<br>Neuquen - Patagonia Argentina<br><font color=#FF0000>Pronto: [/CODE]<a href="http://www.jpw.com.ar" style="color:#000000">http://www.jpw.com.ar</a>
  #5 (permalink)  
Antiguo 14/02/2002, 12:43
 
Fecha de Ingreso: febrero-2002
Mensajes: 10
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Buscar en un string

El tema este lo queria para comprobar los tiempos de ejecucion en cada caso y asi elegir lo que mejor funcionase.

Gracias por la ayuda.

Anda que yo... el ereg, que es el mas sencillo y que no habia caido, jur, se me va la cabeza!
  #6 (permalink)  
Antiguo 09/05/2004, 20:16
 
Fecha de Ingreso: diciembre-2003
Mensajes: 3
Antigüedad: 20 años, 10 meses
Puntos: 0
Hola revivo el tema, yo tengo un problema, yo tengo un script de php, que lo que hace es abrir un archivo que contiene html, y mete todo el codigo en un array.
Yo lo que quiero hacer es saber si dentro de ese codigo se encuentra esta cadena de texto: "Esta es la cadena de texto que quiero encontrar"

Y si la encuentra que llame a la funcion "Alfin()"

Pero no se como haer una busqueda de una cadena dentro de otra
  #7 (permalink)  
Antiguo 09/05/2004, 21:10
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 22 años
Puntos: 1
Buscar un string

Puedes hacerlo de esta forma:
Código PHP:
<?php 
 $posicion 
strrpos($cadenadondebuscar"Esta es la cadena de texto que quiero encontrar"); 
if (
$posicion === false) { 
 echo 
"cadena no encontrada";
}else{
 
Alfin();
}
?>
Salu2
__________________
Ing. Reynier Pérez Mira
  #8 (permalink)  
Antiguo 10/05/2004, 18:52
 
Fecha de Ingreso: diciembre-2003
Mensajes: 3
Antigüedad: 20 años, 10 meses
Puntos: 0
muchas gracias, me sirvio de maravilla
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 22:18.