Foros del Web » Programando para Internet » PHP »

Registrar palabra entre caracteres conocidos

Estas en el tema de Registrar palabra entre caracteres conocidos en el foro de PHP en Foros del Web. Hola a todos. Seguro que hay informacion al respecto, pero no consigo encontrala o encontrar las palabras adecuadas... Necesito registrar una palabra en un archivo ...
  #1 (permalink)  
Antiguo 20/02/2008, 07:17
 
Fecha de Ingreso: junio-2006
Mensajes: 46
Antigüedad: 17 años, 9 meses
Puntos: 0
Registrar palabra entre caracteres conocidos

Hola a todos.

Seguro que hay informacion al respecto, pero no consigo encontrala o encontrar las palabras adecuadas...

Necesito registrar una palabra en un archivo de texto. Es como buscar una palabra en el archivo, solo que no se la palabra, pero si se los caracteres que hay antes y despues de la palabra... algo como "dime la palabra que hay entre '23>=1' y 'hgftys6' " , no se si me explico bien....

Os agradeceria ayuda, o una orientacion de como hacerlo.

Saludos
  #2 (permalink)  
Antiguo 20/02/2008, 07:59
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
Re: Registrar palabra entre caracteres conocidos

Podrias usar [file_get_contents], que obtiene el contenido del un archivo en una cadena, luego podrias hacer una busqueda dentro de la cadena segun el caracter...
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #3 (permalink)  
Antiguo 20/02/2008, 08:18
 
Fecha de Ingreso: junio-2006
Mensajes: 46
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Registrar palabra entre caracteres conocidos

noes esa funcional equivalente a file()?
no entiendo como la usarias...
  #4 (permalink)  
Antiguo 20/02/2008, 09:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Registrar palabra entre caracteres conocidos

Lo que haces es abrir el archivo e ir leyendo por "chunks" tu texto usando fgets(), asi puedes encontrar la cadena que necesitas.

Saludos.
  #5 (permalink)  
Antiguo 20/02/2008, 10:06
 
Fecha de Ingreso: junio-2006
Mensajes: 46
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Registrar palabra entre caracteres conocidos

primer problema. He puesto un ejemplo:

Código:
<waypoint>
	<name id="prueba"><![CDATA[prueba1nombre por juanvivo]]></name>
	<datos l="41.610317" t="1.786483"/>
	<type>blanco</type>
	<link text="detalles">http://www.dominio.com/sk/des.aspx?wp=prueba</link>
</waypoint>
ese es el fichero de texto. Luego pongo este codigo:

Código:
<?php

$fd = fopen ("texto.loc", "r");
while (!feof($fd)) {
    $buffer = fgets($fd, 4096);
    echo $buffer;
}
fclose ($fd);

?>
y en la pantalla solo aparece:

Código:
blanco http://www.dominio.com/sk/des.aspx?wp=prueba

Por que no lee el resto de simbolos???
  #6 (permalink)  
Antiguo 20/02/2008, 10:17
 
Fecha de Ingreso: junio-2006
Mensajes: 46
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Registrar palabra entre caracteres conocidos

los toma como etiquetas, claro. En el codigo fuente si salen...
  #7 (permalink)  
Antiguo 20/02/2008, 10:37
 
Fecha de Ingreso: junio-2006
Mensajes: 46
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Registrar palabra entre caracteres conocidos

Cita:
Iniciado por GatorV Ver Mensaje
Lo que haces es abrir el archivo e ir leyendo por "chunks" tu texto usando fgets(), asi puedes encontrar la cadena que necesitas.

Saludos.
Si lo que pasa es que no quiero encontrar una cadena, sino lo que haya entre dos cadenas...Una funcion asi:

txtentrecadenas($archivo,$cadenaini,$cadenafin);

de tal forma que si el texto es: "este texto es una prueba", al ejecutar la funcion:

txtentrecadenas('archivo.txt','es','prueba');

la funcion devuelva : ' una '

...

Alguna idea?
  #8 (permalink)  
Antiguo 20/02/2008, 10:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Registrar palabra entre caracteres conocidos

Programa tu mismo la función, dentro de la función debes de usar como te comento varias de las funciones para manejos de string como substring, y strpos.

Saludos.
  #9 (permalink)  
Antiguo 20/02/2008, 11:24
 
Fecha de Ingreso: junio-2006
Mensajes: 46
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Registrar palabra entre caracteres conocidos

Buena idea ! jejeje, pero ya la tuve yo antes. Y al no poder realizarla, por falta de conocimientos es por lo que termine aqui pidiendo ayuda.

Gracias de todos modos GatorV.

Sigo buscando...
  #10 (permalink)  
Antiguo 20/02/2008, 11:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Registrar palabra entre caracteres conocidos

Ya te di las opciones debes de usar substr y strpos para obtener las partes, un ejemplo:
Código PHP:
function textoentrecadenas$cad1$cad2$texto ) {
         
$pos1 stripos$texto$cad1 ); // Buscamos el primer string
         
         
if( $pos1 === false ) { // Si la posicion 1 no existe regresamos vacio
                  
return "";
         }
         
         
$pos2 stripos$texto$cad2$pos1 ); // Buscamos el segundo
         
         
if( $pos2 === false ) { // Si no esta asumimos al final del string
               
$pos2 strlen$texto );
         }

          return 
substr$texto$pos1, ( strlen$texto ) - $pos2 ) ); // Regresamos lo que hay entre el $pos1 y $pos2

Saludos.
  #11 (permalink)  
Antiguo 22/02/2008, 10:08
 
Fecha de Ingreso: junio-2006
Mensajes: 46
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Registrar palabra entre caracteres conocidos

Muchas garcias. Lo modifique y me funciona 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 16:19.