Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/10/2009, 17:42
Avatar de destor77
destor77
 
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años
Puntos: 43
cambiar texto

Hola,
tengo la siguiente funcion:
Código php:
Ver original
  1. /**
  2.  * Reemplaza los tags por su codigo correspondiente.
  3.  *
  4.  * @param string $texto
  5.  * @return string
  6.  */
  7. function etiquetas($texto){
  8.     $abrir=str_replace('<p>[desplegable]','<div id="accordion">',$texto);
  9.     $abrirtitulo=str_replace('[titulo]','<h2><a href="#">',$abrir);
  10.     $cerrartitulo=str_replace('[/titulo]','</a></h2>',$abrirtitulo);
  11.     $abrircontenido=str_replace('[contenido]','<div><p>',$cerrartitulo);
  12.     $cerrarcontenido=str_replace('[/contenido]','</p></div>',$abrircontenido);
  13.     $cerrar=str_replace('[/desplegable]</p>','</div>',$cerrarcontenido);   
  14.     $tabla=str_replace('<table','<table summary="" ',$cerrar);
  15.     $texto=str_replace('[formulario]','<a href="index.php?modules=presupuesto" title="Pedir Presupuesto">formulario</a> ',$tabla);
  16.    
  17.     return $texto;
  18. }

lo que hace es que al parsarle un texto reemplaza ciertos tags [] por un codigo html el cual me permite crear un acordeon en jquery, anda de 10 pero tengo problemas cuando hay etiquetas <p> o </p> haciendo que el contenido se vea mal, mi duda es como puedo hacer para que dentro de esa función me elimine los <p> o si hay <p style=.....> y me cambie los </p> por <br/> que entre los tags [desplegable] y [/desplegable]

desde ya muchas gracias