Foros del Web » Programando para Internet » PHP »

Pregunta sobre la lectura atributos en los tags

Estas en el tema de Pregunta sobre la lectura atributos en los tags en el foro de PHP en Foros del Web. Me gustaría saber si hay manera de conseguir leer el contenido de los atributos de por ejemplo estos tags: Código: <feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'> O Código: ...
  #1 (permalink)  
Antiguo 03/11/2008, 12:14
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 21 años, 4 meses
Puntos: 0
Pregunta sobre la lectura atributos en los tags

Me gustaría saber si hay manera de conseguir leer el contenido de los atributos de por ejemplo estos tags:
Código:
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'>
O
Código:
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">
Del primero no consigo leer nada, del segundo puedo obtener la versión con ['version'] o con la función attributes(); de SimpleXML.

El primero pertenece a Atom y el segundo a RSS 2.0.
  #2 (permalink)  
Antiguo 03/11/2008, 12:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Pregunta sobre la lectura atributos en los tags

Hola Reeve,

Lee el siguiente articulo: http://www.sitepoint.com/blogs/2005/...nd-namespaces/

Saludos.
  #3 (permalink)  
Antiguo 03/11/2008, 12:39
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: Pregunta sobre la lectura atributos en los tags

Gracias pero creo que no me sirve, mi intención es averiguar cual es Atom o RSS 2.0 mirando si la etiqueta global es <feed> o <rss>, cosa que no he conseguido, o detectar alguno de sus atributos, en este caso el version del RSS lo consigo pero por ejemplo xmlns='' de Atom no.

Esto que me pones es para los prefijos de las etiquetas interiores, pero de momento ahí no tengo ningún problema.
  #4 (permalink)  
Antiguo 03/11/2008, 13:25
Avatar de Deschamps  
Fecha de Ingreso: octubre-2008
Mensajes: 257
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Pregunta sobre la lectura atributos en los tags

Aunque sea un poco "chapucero", si tienes el código en strings y jugando con expresiones regulares...

Código php:
Ver original
  1. <?php
  2.     function atributos( $cadena ) {
  3.         $patron  = '/[\'\"]([^\'^\"]*)[\'\"]/i';
  4.        
  5.         $total  = preg_match_all( $patron, $cadena, $coincidencias );
  6.         return $coincidencias[1];
  7.     }
  8.    
  9.     print_r( atributos("<feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'>") );
  10.     print_r( atributos('<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">') );
  11. ?>

Daría esta salida:

Código:
Array
(
    [0] => http://www.w3.org/2005/Atom
    [1] => http://a9.com/-/spec/opensearch/1.1/
)
Array
(
    [0] => http://purl.org/rss/1.0/modules/content/
    [1] => http://wellformedweb.org/CommentAPI/
    [2] => 2.0
)
 
Un saludo.
  #5 (permalink)  
Antiguo 03/11/2008, 13:26
Avatar de Deschamps  
Fecha de Ingreso: octubre-2008
Mensajes: 257
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Pregunta sobre la lectura atributos en los tags

Cita:
Iniciado por Reeve Ver Mensaje
(..) mi intención es averiguar cual es Atom o RSS 2.0 mirando si la etiqueta global es <feed> o <rss> (..)
Ups. Sospecho que mi mensaje anterior no sirve de nada, entonces
Lo que comentabas al principio era literalmente: "... conseguir leer el contenido de los atributos ...".

Última edición por Deschamps; 03/11/2008 a las 13:32
  #6 (permalink)  
Antiguo 03/11/2008, 14:53
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: Pregunta sobre la lectura atributos en los tags

Gracias por todo Deschamps, me sirve mucho para aprender, aunque voy a utilizar otro método.
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:25.