elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Ayuda con Analizador Lexico en php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con Analizador Lexico en php  (Leído 10,597 veces)
include ();

Desconectado Desconectado

Mensajes: 36


No seas envidioso, comparte lo que sabes... ;)


Ver Perfil
Re: Ayuda con Analizador Lexico en php
« Respuesta #10 en: 5 Junio 2012, 06:40 am »

si no te importan los saltos de linea extras puedes hacer un str_replace
http://www.php.net/manual/es/function.substr-replace.php

Código
  1. $letra = str_replace(">",">\n",$letra);
  2.  

esto va a colocar un salto de linea luego de cada ">"
(en caso de dudas \n significa salto de linea)


mira hice ese cambio que me enviaste pero yo en lugar de colocar

Código
  1. $letra = str_replace(">",">\n",$letra);
  2.  


coloque

Código:
$saltos = str_replace("<","<\n",$letra)."<br>";

y me dio este resultado

Se ha Cargado el Archivo Exitosamente

< contacto>
< nombre>David Herrera< /nombre>
< telefono>187895< /telefono>
< /contato>

tambien en esta parte
Código:
$inicio = strpos($letra,"<")+1;// le agrego +1 para quitar el primer <

le quite el +1 porque me daba este error
Warning: strpos() [function.strpos]: Offset not contained in string in C:\xampplite\htdocs\Archivos\parsearxml.php on line 24


y entonces el codigo lo tengo asi pero si te da cuenta en el resultado me agrega las etiquetas con un espacio luego del simbolo < es decir quedan asi < nombre>

Código:
<?php
echo "Se ha Cargado el Archivo Exitosamente<br><br>";
$archivo=fopen('archivos/ejemplo.xml','r')
or die("Problemas al abrir el archivo");
while(!feof($archivo))
{
$letra=fgets($archivo);// aquí se supone que está guardada una etiqueta         
$inicio = strpos($letra,"<");// le agrego +1 para quitar el primer <
$fin = strpos($letra,">", $inicio);
$etiqueta = substr($letra, $inicio, $fin-$inicio);
$saltos = str_replace("<","<\n",$letra)."<br>";
echo $saltos;
}
fclose($archivo);
?>

siempre muy agradecido  ;D hermano  ;-)


En línea

Grandeza no es solo saber, Grandeza es ayudar y compartir!!!
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayuda con Analizador Lexico en php
« Respuesta #11 en: 5 Junio 2012, 07:12 am »

XD creoq ue me di mal a entender XD

te decia solo usar el str_replace XD
Código
  1. <?php
  2. echo "Se ha Cargado el Archivo Exitosamente<br><br>";
  3. $archivo=fopen('archivos/ejemplo.xml','r')
  4. or die("Problemas al abrir el archivo");
  5. while(!feof($archivo))
  6. {
  7. $letra=fgets($archivo);// aquí se supone que está guardada una etiqueta        
  8. $saltos = str_replace("<","<\n",$letra)."<br>";
  9. echo $saltos;
  10. }
  11. fclose($archivo);
  12. ?>
  13.  


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
include ();

Desconectado Desconectado

Mensajes: 36


No seas envidioso, comparte lo que sabes... ;)


Ver Perfil
Re: Ayuda con Analizador Lexico en php
« Respuesta #12 en: 5 Junio 2012, 07:31 am »

XD creoq ue me di mal a entender XD

te decia solo usar el str_replace XD
Código
  1. <?php
  2. echo "Se ha Cargado el Archivo Exitosamente<br><br>";
  3. $archivo=fopen('archivos/ejemplo.xml','r')
  4. or die("Problemas al abrir el archivo");
  5. while(!feof($archivo))
  6. {
  7. $letra=fgets($archivo);// aquí se supone que está guardada una etiqueta        
  8. $saltos = str_replace("<","<\n",$letra)."<br>";
  9. echo $saltos;
  10. }
  11. fclose($archivo);
  12. ?>
  13.  

 :P no habia entendido que era para simplificar jajaja, pero siempre me queda un espacio luego del < a que se debe esto?
En línea

Grandeza no es solo saber, Grandeza es ayudar y compartir!!!
include ();

Desconectado Desconectado

Mensajes: 36


No seas envidioso, comparte lo que sabes... ;)


Ver Perfil
Re: Ayuda con Analizador Lexico en php
« Respuesta #13 en: 5 Junio 2012, 07:39 am »

:P no habia entendido que era para simplificar jajaja, pero siempre me queda un espacio luego del < a que se debe esto?

ahora tengo otra duda como hago para comparar palabra por palabra con mi tabla que esta en mi base de datos  :huh: disculpa tanta molestia... :rolleyes:
En línea

Grandeza no es solo saber, Grandeza es ayudar y compartir!!!
[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: Ayuda con Analizador Lexico en php
« Respuesta #14 en: 5 Junio 2012, 15:18 pm »

No entiendo para que queres hacer esto, si queres parsear XML te recomiendo que uses SimpleXML. Un ejemplo:

Código
  1. <?php
  2. $xml = simplexml_load_file('ejemplo.xml');
  3. printf("Nombre: %s<br/>Telefono: %s", $xml->nombre, $xml->telefono);
  4. ?>

Saludos
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
include ();

Desconectado Desconectado

Mensajes: 36


No seas envidioso, comparte lo que sabes... ;)


Ver Perfil
Re: Ayuda con Analizador Lexico en php
« Respuesta #15 en: 5 Junio 2012, 15:49 pm »

No entiendo para que queres hacer esto, si queres parsear XML te recomiendo que uses SimpleXML. Un ejemplo:

Código
  1. <?php
  2. $xml = simplexml_load_file('ejemplo.xml');
  3. printf("Nombre: %s<br/>Telefono: %s", $xml->nombre, $xml->telefono);
  4. ?>

Saludos


Primeramente muchas gracias por responder, y lo que quiero hacer es agarrar palabra por palabra y compararlas con una  tabla que tengo en una base de datos, soy nuevo en php y no se si con SimpleXML puedo hacer esto... :huh:

nuevamente gracias....
En línea

Grandeza no es solo saber, Grandeza es ayudar y compartir!!!
[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: Ayuda con Analizador Lexico en php
« Respuesta #16 en: 5 Junio 2012, 16:07 pm »

SimpleXML sirve para cargar un archivo XML en un objeto, y acceder a sus miembros como si de un array se tratase.
Por ejemplo en el codigo anterior:

Código
  1. $xml = simplexml_load_file('ejemplo.xml');
Lo que hace eso es cargar el archivo ejemplo.xml en la variable $xml (poder usar el nombre que vos quieras...)

Luego para mostrar el nombre haces:

Código
  1. echo $xml->nombre;

Te aconsejaria leer un poco mas sobre PHP, buscate algun manual de introduccion, y luego si largate a hacer estas cosas  ;)

Saludos
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
include ();

Desconectado Desconectado

Mensajes: 36


No seas envidioso, comparte lo que sabes... ;)


Ver Perfil
Re: Ayuda con Analizador Lexico en php
« Respuesta #17 en: 5 Junio 2012, 16:15 pm »

SimpleXML sirve para cargar un archivo XML en un objeto, y acceder a sus miembros como si de un array se tratase.
Por ejemplo en el codigo anterior:

Código
  1. $xml = simplexml_load_file('ejemplo.xml');
Lo que hace eso es cargar el archivo ejemplo.xml en la variable $xml (poder usar el nombre que vos quieras...)

Luego para mostrar el nombre haces:

Código
  1. echo $xml->nombre;

gracias por el consejo y una duda mas... el simplexml me funciona aunque yo no sepa que etiquetas tiene el archivo xml???

Te aconsejaria leer un poco mas sobre PHP, buscate algun manual de introduccion, y luego si largate a hacer estas cosas  ;)

Saludos
En línea

Grandeza no es solo saber, Grandeza es ayudar y compartir!!!
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda-C] Programación de un analizador léxico-sintáctico
Programación C/C++
Miky Gonzalez 2 6,429 Último mensaje 6 Agosto 2013, 23:16 pm
por Alien-Z
Analizador lexico/sintactico
Scripting
roadd 4 3,452 Último mensaje 5 Mayo 2015, 22:00 pm
por roadd
ayuda , analizador de paquetes de red i seguridad
Hacking Wireless
algoritmoXY 1 1,943 Último mensaje 12 Agosto 2015, 15:48 pm
por engel lex
Analisador Lexico
Programación C/C++
AGuevara 3 1,780 Último mensaje 25 Marzo 2019, 15:47 pm
por simorg
analizador lexico / sintactico python
Programación General
javidarks 7 14,845 Último mensaje 1 Agosto 2021, 10:12 am
por fzp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines