Foros del Web » Programando para Internet » PHP »

buscar en cadenas

Estas en el tema de buscar en cadenas en el foro de PHP en Foros del Web. hola, algunos sabeis alguna funcion en php pa buscar una palabra o palabras en una cadena y devolver booleano, esq no lo encuentro en el ...
  #1 (permalink)  
Antiguo 09/11/2002, 09:32
Avatar de mariog  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 195
Antigüedad: 15 años, 1 mes
Puntos: 0
buscar en cadenas

hola, algunos sabeis alguna funcion en php pa buscar una palabra o palabras en una cadena y devolver booleano, esq no lo encuentro en el manual
  #2 (permalink)  
Antiguo 09/11/2002, 10:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Del manual .. ejemplo de uso de strpos() ...

Código PHP:
// in PHP 4.0b3 and newer:
$pos strpos($mystring"b");
if (
$pos === false) { // note: three equal signs
   // not found...
}

// in versions older than 4.0b3:
$pos strpos($mystring"b");
if (!
is_integer($pos)) {
   
// not found...

Un saludo,
  #3 (permalink)  
Antiguo 09/11/2002, 20:36
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
cluster, crees que si le paso dos palabras a buscar a esa función en vez de una y me diga si es verdadero o falso igual funcione, esea tipo algo así

Código PHP:
<?
$var 
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2.1)
Gecko/20010901"



$pos strpos($var"X11" and "Linux");
if (
$pos === true) { 
echo 
"X11 y Linux estan en la variable";
}
else {
echo 
"X11 y Linux no estan en la variable";
}
?>
se puede?....,

Por que tres signo === ?

Última edición por Webstudio; 11/11/2002 a las 12:33
  #4 (permalink)  
Antiguo 10/11/2002, 08:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lo del "and" para buscar varias palabras .. con esa funcion no se puede hacer ..

Tendrias q usar un blucle y tener tus palabras a buscar en un array por ejemplo .. eso sería una solución.

Otra solución .. seria usando expresiones regulares .. pero ahi no estoy muy puesto xD ..

Lo de los tres iguales === significa "identico". Tanto en valor (seria un == simple) como en el tipo de variable que sea (cadena, array, entero .. etc).

Un saludo,
  #5 (permalink)  
Antiguo 10/11/2002, 12:17
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 15 años, 7 meses
Puntos: 7
Código PHP:
$pos strpos($var"X11") and strpos($svar,"Linux"); 
  #6 (permalink)  
Antiguo 10/11/2002, 17:35
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
Bueh, no me funciono, pero gracias por el intento amigo, mira como lo deje


<?

$var = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2.1) Gecko/20010901";

$pos = strpos($var, "X11") and strpos($svar,"Linux");

if ($pos === true) {
echo "X11 y Linux estan en la variable";
}
else {
echo "X11 y Linux no estan en la variable";
}
?>

pero nada, ya provare con un bucle como aconseja cluster...
  #7 (permalink)  
Antiguo 11/11/2002, 10:48
Avatar de Slayer_X
Colaborador
 
Fecha de Ingreso: mayo-2001
Ubicación: Lima
Mensajes: 865
Antigüedad: 16 años, 7 meses
Puntos: 1
Esto debe funcionarte ;)

Código PHP:
$var "Mozilla/5.0 (X11; U; Linux i686; en-US) Gecko/20010901";
$pos1 strpos($var"X11");
$pos2 strpos($var,"Linux");
if (
$pos1 and $pos2){
        echo 
"X11 y Linux estan en la variable";
} else {
        echo 
"X11 y Linux no estan en la variable";

HTH
__________________
(o> Cesar Villegas Ureta
// "Slayer_X"
V_/_ http://www.slayerx.org/
  #8 (permalink)  
Antiguo 11/11/2002, 11:42
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
Gracias, funciona de 10, además me sirvio de algo más que solo darme él pescado, me ayudo a darme cuenta de la versatilidad de php, osa, una misma cosa se puede hacer de muchas formas, solo tenemos que buscar la adecuada.
  #9 (permalink)  
Antiguo 11/11/2002, 12:31
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Existe un solo problema con la manera que te ha explicado Slayer_X y es que si una de las dos palabras que buscas, es la primer palabra del String $var, entonces strpos() te devolverá cero (porque la palabra se encuentra en el byte número 0 del string), con lo cuál tu validación no funcionará y dará falso.

Pero eso se soluciona con === y is_bool()
  #10 (permalink)  
Antiguo 12/11/2002, 12:31
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
Si ya me di cuenta, por suerte no necesito hacer uso de la primera palabra del string, gracias por la observación.
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:21.