Foros del Web » Programando para Internet » PHP »

Ubicar cadena exacta dentro de otra

Estas en el tema de Ubicar cadena exacta dentro de otra en el foro de PHP en Foros del Web. Buenos Dias amigos: Tengo un problema para ubicar la aparicion exacta de una cadena dentro de otra, tengo un string donde tengo varios indicadores tales ...
  #1 (permalink)  
Antiguo 27/12/2011, 08:47
 
Fecha de Ingreso: septiembre-2011
Ubicación: Maturin
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Ubicar cadena exacta dentro de otra

Buenos Dias amigos:
Tengo un problema para ubicar la aparicion exacta de una cadena dentro de otra, tengo un string donde tengo varios indicadores tales como:

$string="CONTADOR_ENVIO_00: 20292; CONTADOR_ENVIO_04: 029293; CONTADOR_ENVIO: 282828"

Deseo realizar una busqueda en dicho string y tomar la cadena: "CONTADOR_ENVIO: 282828" e imprimirla.

Lo estoy haciendo a traves de strstr de la siguiente manera

Código PHP:

$string
="CONTADOR_ENVIO_00: 20292;  CONTADOR_ENVIO_04: 029293; CONTADOR_ENVIO: 282828";
$ubicar="CONTADOR_ENVIO: 282828";

echo 
$cadena=strstr($string$ubicar); 
El problema es que me ubica a partir de la primera aparicion, es decir: "CONTADOR_ENVIO_00: 20292; CONTADOR_ENVIO_04: 029293; CONTADOR_ENVIO: 282828" y yo quiero la frase exacta: "CONTADOR_ENVIO: 282828" solamente".

Pueden ayudarme a encontrar una manera??'

Espero haberme explicado bien.
Saludos Cordiales
  #2 (permalink)  
Antiguo 27/12/2011, 09:04
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: Ubicar cadena exacta dentro de otra

Hola!
Pues lo acabo de probar, y me imprime CONTADOR_ENVIO: 282828
seguro que tienes escrito exactamente eso??

Saludos
  #3 (permalink)  
Antiguo 27/12/2011, 09:20
 
Fecha de Ingreso: septiembre-2011
Ubicación: Maturin
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Ubicar cadena exacta dentro de otra

Bueno en realidad el string que estoy intentando depurar proviene de un archivo HTML y es mucho mas largo, aqui lo envio:

Código PHP:
<?php

$string
="<tr><td align='left'><a name='CONTADORES_AMANA_M30_20'>CONTADORES_AMANA_M30_20</a></td><td align='left'><a name='36557485'>36557485</a></td><td align='left'><a href='#35554442'>35554442</a></td>
<tr><td align='left'><a name='CONTADORES_AMANA_M30_16'>CONTADORES_AMANA_M30_16</a></td><td align='left'><a name='36557486'>36557486</a></td><td align='left'><a href='#35554442'>35554442</a></td>
<tr><td align='left'><a name='CONTADORES_AMANA_M30_12'>CONTADORES_AMANA_M30_12</a></td><td align='left'><a name='36557487'>36557487</a></td><td align='left'><a href='#35554442'>35554442</a></td>
<tr><td align='left'><a name='CONTADORES_AMANA_M30_10'>CONTADORES_AMANA_M30_10</a></td><td align='left'><a name='36557488'>36557488</a></td><td align='left'><a href='#35554442'>35554442</a></td>
<tr><td align='left'><a name='CONTADORES_AMANA_M30_08'>CONTADORES_AMANA_M30_08</a></td><td align='left'><a name='36557489'>36557489</a></td><td align='left'><a href='#35554442'>35554442</a></td>
<tr><td align='left'><a name='CONTADORES_AMANA_M30_04'>CONTADORES_AMANA_M30_04</a></td><td align='left'><a name='36557490'>36557490</a></td><td align='left'><a href='#35554442'>35554442</a></td>
<tr><td align='left'><a name='CONTADORES_AMANA_M30_00'>CONTADORES_AMANA_M30_00</a></td><td align='left'><a name='36557491'>36557491</a></td><td align='left'><a href='#35554442'>35554442</a></td>
<tr><td align='left'><a name='CONTADORES_AMANA_M30'>CONTADORES_AMANA_M30</a></td><td align='left'><a name='36557492'>36557492</a></td><td align='left'><a href='#35554442'>35554442</a></td>"
;
$string strip_tags($string);

$ubicar="CONTADORES_AMANA_M30";

echo 
$cadena=strstr($string$ubicar);

?>
Al hacer esto me devuelve:

CONTADORES_AMANA_M30_203655748535554442 CONTADORES_AMANA_M30_163655748635554442 CONTADORES_AMANA_M30_123655748735554442 CONTADORES_AMANA_M30_103655748835554442 CONTADORES_AMANA_M30_083655748935554442 CONTADORES_AMANA_M30_043655749035554442 CONTADORES_AMANA_M30_003655749135554442 CONTADORES_AMANA_M303655749235554442

Lo que yo quiero es que me devuelva a partir de: "CONTADORES_AMANA_M303655749235554442"

Saludos
  #4 (permalink)  
Antiguo 27/12/2011, 09:34
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: Ubicar cadena exacta dentro de otra

AA!!
según el manual, strstr ( http://es2.php.net/manual/es/function.strstr.php )
"Devuelve parte de la cadena desde la primera aparición hasta el final".
Quizá deverías buscar otras funciones:
http://es2.php.net/manual/es/function.substr.php
http://es2.php.net/manual/es/function.strpos.php
etc...

Saludos!
  #5 (permalink)  
Antiguo 27/12/2011, 09:57
 
Fecha de Ingreso: septiembre-2011
Ubicación: Maturin
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Ubicar cadena exacta dentro de otra

Bueno la verdad ya he revisado mucho estas funciones, pero no se adecuan a mi necesidad.
El script HTML, lo genera otro modulo de mi aplicacion, y tengo que filtrar en primer lugar a "CONTADORES_AMANA_M30", luego a "CONTADORES_AMANA_M30_00", "CONTADORES_AMANA_M30_04" etc...
El detalle es que no consigo la manera que me lea exactamente a: "CONTADORES_AMANA_M30" sin ubicar erroneamente al que aparece en primer lugar que es CONTADORES_AMANA_M30_20".
  #6 (permalink)  
Antiguo 27/12/2011, 15:07
Avatar de alguienmas  
Fecha de Ingreso: mayo-2009
Mensajes: 62
Antigüedad: 14 años, 11 meses
Puntos: 8
Respuesta: Ubicar cadena exacta dentro de otra

haz intentado con :
Código PHP:
$ubicar=">CONTADORES_AMANA_M30<";
echo 
$cadena=strstr($string$ubicar); 
Saludos
  #7 (permalink)  
Antiguo 28/12/2011, 07:58
 
Fecha de Ingreso: septiembre-2011
Ubicación: Maturin
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Ubicar cadena exacta dentro de otra

Gracias "Alguienmas": Ya intente y tampoco me funciona...
Debe existir alguna manera pero no se como...
  #8 (permalink)  
Antiguo 28/12/2011, 11:23
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Ubicar cadena exacta dentro de otra

¿Cuál es el resultado exacto que quieres sacar del html?
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 28/12/2011, 14:42
 
Fecha de Ingreso: septiembre-2011
Ubicación: Maturin
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Ubicar cadena exacta dentro de otra

Lo que deseo es poder extraer el texto que aparece despues de cada CONTADOR ENVIO.

El HMTL es dinamico y los valores que aparecen despues de cada CONTADOR_ENVIO varian continuamente. Lo que hago yo es leer al HTML, y luego con un "substr" y un "explode" tomo el valor almacenado, pero cuando le digo que lea solo a CONTADOR ENVIO, toma el primero que consigue que es CONTADOR_ENVIO_00.


Código PHP:
$string="CONTADOR_ENVIO_00: 20292;  CONTADOR_ENVIO_04: 029293; CONTADOR_ENVIO: 282828";
$ubicar="CONTADOR_ENVIO";

echo 
$cadena=strstr($string$ubicar); 

Etiquetas: ubicar, 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 09:32.