Ver Mensaje Individual
  #8 (permalink)  
Antiguo 05/12/2011, 10:25
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Eliminar carácteres html con php

@arquidea
me resulta un poco complejo tu ejemplo, decis que usas simplexml_load_file(), pero yo veo $xml = simplexml_load_string($contenido_xml);
las imágenes no son muy claras, y si tu xml incluye contenido html, este deberia ser pasado con CDATA. no uso mucho xml, pero te paso un ejemplo sencillo para ue lo analices

el feed.xml

Código XML:
Ver original
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <notas>
  3. <nota>
  4.     <autor>luis rodriguez</autor>
  5.     <fecha>05/12/2011 12:21:59</fecha>
  6.     <titulo>ejemplo de xml parser</titulo>
  7.     <contenido><![CDATA[ <p>este es el contenido de rodriguez</p> ]]></contenido>
  8. </nota>
  9. <nota>
  10.     <autor>juan pérez</autor>
  11.     <fecha>05/12/2011 12:21:59</fecha>
  12.     <titulo>ejemplo de xml parser</titulo>
  13.     <!-- en esta entrada no se usa CDATA -->
  14.     <contenido><p>este es el contenido de pérez</p></contenido>
  15.     <!-- fin entrada sin CDATA -->
  16. </nota>
  17. <nota>
  18.     <autor>roberto gonzalez</autor>
  19.     <fecha>05/12/2011 12:21:59</fecha>
  20.     <titulo>ejemplo de xml parser</titulo>
  21.     <contenido><![CDATA[ <p>este es el contenido de gonzalez</p> ]]></contenido>
  22. </nota>
  23. <nota>
  24.     <autor>victor martinez</autor>
  25.     <fecha>05/12/2011 12:21:59</fecha>
  26.     <titulo>ejemplo de xml parser</titulo>
  27.     <contenido><![CDATA[ <p>este es el contenido de martinez</p> ]]></contenido>
  28. </nota>
  29. </notas>

el leerxml.php
Código PHP:
Ver original
  1. <?php
  2. $sx = simplexml_load_file('feed.xml');
  3. $salida ="";
  4. $htmlxml = "";
  5. foreach($sx->nota as $item){
  6. $autor= $item->autor;
  7. $contenido= $item->contenido;
  8. $fecha= $item->fecha;
  9. $titulo= $item->titulo;
  10. if($contenido == ""){
  11. $contenido .= "xxxxxx";
  12. }else{
  13. $htmlxml = $contenido;
  14. }
  15. $salida .= "Autor: " . $autor . "<br><b>$titulo</b> [$fecha]<br>" . strip_tags($contenido) . "<hr>";
  16. }
  17. echo $salida;
  18. echo "<p>El contenido sin striptags en un textarea (el del último registro)</p>";
  19. echo "<textarea rows='5' cols='30'>$htmlxml</textarea>";
  20. ?>

como ves le hice un agregado para que se visualice mejor.
En conclusión, el strip_tags() funciona, siempre que tu XML sea correcto
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.