PHP - Guardar texto con formato en bbdd

 
Vista:

Guardar texto con formato en bbdd

Publicado por sam (185 intervenciones) el 26/08/2014 12:02:21
Hola amigos a ver si me pueden ayudar.

Sabrian decirme como puedo insertar texto en mi base de datos sql pero con texto con formato?

Se que se hace con "htmlspecialchars"


la idea es que en el formulario , en los campos del formulario , pueda pegar un texto que tiene cursivas, negritas etc y que procede de un documento de word , y pegar dicho texto en el campo del formulario y se guarde posteriormente en la base de datos y muestre este texto en la web pero apareciendo las cursivas negritas subrayados etc....


He probado a meter en el textarea del formulario etiquetas <b></b> para poner en negrita, y me las guarda en la bbdd, y se muestra el texto en negrita en la web , pero claro tener que hacer esto con cada palabra que se quiera poner en negrita es un poco engorroso.

He estado investigando lo de implementar un editor wising pero no se si eso es la solucion.

y tampoco se como implementar uno en mi formulario de php.

Podrian ayudarme , gracias




el codigo que tengo es este, los datos que provienen del formulario:


$contenido_tema_1 = $_POST["contenido_tema_1"];




y lo he puesto asi tambien para que detectara negritas etc pero no lo detecta:

$contenido_tema_1 = htmlentities($_POST["contenido_tema_1"]);



Tambien he probado con htmlspecialchars() y nad no va.

Podrian ayudarme gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Guardar texto con formato en bbdd

Publicado por sam (185 intervenciones) el 26/08/2014 14:36:39
Bueno decir que ya he solucionado practicamente el problema.

Lo que he hecho es implementar un editor de texto el llamado tiny_mce de la pagina http://www.tinymce.com/

Y lo he implementado bien, puedo meter texto , subrayarlo , ponerlo en negrita etc.

Y con el formulario puedo subirlo a la bbdd y posteriormente mostrar el contenido en la pagina web subrayado etc.


Todo esto lo hace bien , pero el tema esta en que el text-area, antes de ser implementado con este editor. dicho tex-area , se cargaba en el su contenido correpondiente, seleccionando una opcion de un combobox.

es decir seleccionaba una option de un combobox y en este text area se cargaba su informacion de la bbdd automaticamente.


Pero ahora con este editor implementado , no se carga la informacion almacenada en la bbdd.

Como puedo hacer para que se recargue?




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!--- TinyMCE --->
 
<script type="text/javascript" src="../../editor/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
 
    // O2k7 skin (silver)
    tinyMCE.init({
        // General options
        mode : "exact",
        elements : "contenido_tema_1",
        theme : "advanced",
        skin : "o2k7",
        skin_variant : "black",
        plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups,autosave",
 
        // Theme options
        theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
        theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
        theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
        theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        theme_advanced_resizing : true,
 
        // Example content CSS (should be your site CSS)
        content_css : "css/content.css",
 
        // Drop lists for link/image/media/template dialogs
        template_external_list_url : "lists/template_list.js",
        external_link_list_url : "lists/link_list.js",
        external_image_list_url : "lists/image_list.js",
        media_external_list_url : "lists/media_list.js",
 
        // Replace values for the template plugin
        template_replace_values : {
            username : "Some User",
            staffid : "991234"
        }
    });
 
</script>
 
<!--- Fin TinyMCE --->
 
 
<textarea name="contenido_tema_1" placeholder="Insertar o modificar contenido Tema 1" value="" id="contenido_tema_1" class="textarea_style_tema_n" title="Contenido tema 1"></textarea>



gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Guardar texto con formato en bbdd

Publicado por xve (6935 intervenciones) el 26/08/2014 18:01:51
Hola Sam, simplemente tienes que poner el contenido entre el tag <textarea...> y </textarea> de la misma manera que lo harías si no utilizaras este editor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar texto con formato en bbdd

Publicado por sam (185 intervenciones) el 26/08/2014 18:38:11
No te entiendo bien xve.

Veras, si quito el editor me quedo con el codigo del text area y fuciona, es decir se recarga con la info del bbdd.

Pero cuando le pongo el texto del TiniMCE osea el del editor, entonces no carga en el text area la informacion extraida de la bbdd.

¿?

No se que quieres que ponga dentro del text area cuando dices:

"poner el contenido entre el tag <textarea...> y </textarea>"

Si lo que tengo es lo que es, nada mas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Guardar texto con formato en bbdd

Publicado por xve (6935 intervenciones) el 26/08/2014 21:43:54
Hola Sam, intento explicarme mejor...

En el código que nos has mostrado, tu textarea es este:
<textarea name="contenido_tema_1" placeholder="Insertar o modificar contenido Tema 1" value="" id="contenido_tema_1" class="textarea_style_tema_n" title="Contenido tema 1"></textarea>

Lo que yo te digo, es que pongas el contenido del text area donde se muestra en negrita:
<textarea name="contenido_tema_1" placeholder="Insertar o modificar contenido Tema 1" value="" id="contenido_tema_1" class="textarea_style_tema_n" title="Contenido tema 1">AQUI TU CONTENIDO</textarea>

Lo que pasa, es que si me dices que te funciona sin el editor, no entiendo como pones el contenido en el textarea... mediante javascript?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar texto con formato en bbdd

Publicado por sam (185 intervenciones) el 26/08/2014 22:23:33
Pues tengo que poner e textarea con el editor osea con javascript porque tengo que poner negritas y cursivas etc.
Pero necesito que cargue en el editor el con tenido del texarea si existe este contenido en la base de datos y como digo si carga sin el editor. Lo puse para guardar texto enrriquecido en la bbdd.

Pero me da este problema.

Yo seria feliz si el textarea guardara en bbdd negritas y retornos de carro. Osea la etiqueta "b" de negrita y "br" con eso solo ya no me haria falta el editor. Pero estoy ya desperado llevo dos dias con esto y no doy con la solucion.
Podrias ayudarme.?

Gracias com siempre
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar