Comunidad de diseño web y desarrollo en internet online

Problema con los textos

Citar            
MensajeEscrito el 17 Feb 2011 01:19 am
Tengo un lío bárbaro con los textos. Ya usé strip_tags y htmlentities, pero no doy en la tecla porque en rigor, la gente que usa el script, lo que hace es copiar de otro lado y pegar.

El problema es que al pegarlo en el FCKeditor, lo graba en la base de datos con todos los tags html y los estilos definidos en el sitio del cuál se copió y, si lo grabo usando strip_tags, no sirve, porque le quita parte del formato que sí se debe conservar, . Ahora si previamente pego ese texto en el block de notas y lo copio desde allí, se limpia todo y queda perfecto.

Probé de usar un textarea, pero me elimina los párrafos.

¿Hay alguna forma de hacer en PHP lo que hace el block de notas?, ¿o hay alguna otra forma de hacer esto?

Gracias !!!

Por bigote

32 de clabLevel



 

Argentina

firefox
Citar            
MensajeEscrito el 17 Feb 2011 03:24 pm
podrías hacer lo a mano tu mismo, tomando por párrafos <p> y haciendo el stirp a cada uno luego si ha perdido el tag de párrafo se lo colocas y a guardarlo!

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

chrome
Citar            
MensajeEscrito el 17 Feb 2011 04:11 pm
Tendría que separar la cadena en párrafos, hacerle un strip_tags a cada uno de ellos para quitarle cualquier tag que tenga en medio y luego ponerle el tag de párrafo adelante y el cierre al final. ¿Es así, no?

Ahora tendría que ver que pasa con los sectores que no están incluídos dentro de los párrafos como los DIV u otros tags.

Voy a probar de analizar la cadena y crear una función que la transforme en sólo párrafos. Pensé que PHP tenía alguna función que yo desconocía.

Gracias.

Por bigote

32 de clabLevel



 

Argentina

firefox
Citar            
MensajeEscrito el 18 Feb 2011 02:16 pm
Estuve viendo varias funciones de cadenas y como combinarlas, pero es imposible que pueda capturar un párrafo que está como <p class="loquesea"> y no como <p>

Por bigote

32 de clabLevel



 

Argentina

firefox
Citar            
MensajeEscrito el 18 Feb 2011 09:09 pm
Sabes que para iniciar se usa <p y para terminar </p, ahí tienes tus secciones y el resto de tags lo quitas

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

chrome
Citar            
MensajeEscrito el 21 Feb 2011 04:36 pm
O podrías hacerlo con expresiones regulares. Para el caso expuesto...

Código PHP :

$regexp = "/^<p\b.*>(.*?)<\/p>/is";
$texto = '<p class="algo">Esto es el texto</p>';

$i = preg_match_all($regexp, $texto, $salida);

if ($i > 0) {
   echo "El texto es: ";
   echo "<pre>"; print_r($salida[1]); echo "</pre>"; 
   }
else {
   echo "No hay texto.";
}



La expresión regular dice "encontrar al inicio de la cadena la subcadena <p seguida de un espacio en blanco más nada o cualquier cosa hasta el caracter >, extraer lo que sigue hasta la subcadena </p>".

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 21 Feb 2011 07:00 pm
Yo normalmente usaria TinyMCE y los obligaria a que usen el "copiar de texto plano", asi se le quita todo formato cuando se pega el contenido o.o

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.