¿Como puedo extraer un texto de un DIV mediante PHP?

srlemuuur Seguir

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
2 Ene 2014
Mensajes
368
Buenos dias,

Estoy realizando una prueba y tengo lo siguiente:

Insertar CODE, HTML o PHP:
<section>
		<article>
			<p contenteditable>
				Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec at pellentesque odio.
			</p>
                        <a href="./index.php?save=1">GUARDAR</a>
		</article>
</section>

Un párrafo básico con contentEditable y un botón que me enlaza a la misma web pero llevando una variable por GET que me realiza la funcion que me inserta el contenido en la Base de datos.

Pero no consigo extraer el contenido escrito en <p>. No me interesa realizarlo con <form> ya que no es eso lo que busco.

El objetivo de esto es realizar un gestor de contenidos en el que puedas editar cualquier texto clicando encima de el y dandole a guardar.

He estado mirando como extraer el contenido con jquery pero no veo nada interesante que me pueda servir de ayuda.

¿Algun consejo?

Un saludo.
 

srlemuuur

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
2 Ene 2014
Mensajes
368
Con php puedes usar Domdocument


Seria algo asi?


Insertar CODE, HTML o PHP:
<?php 

if($_GET['save'==1])
{
	$DOM = new DOMDocument();
	$DOM->loadHTMLFile( './index.php' );

	$p = $DOM->getElementsByTagName( 'p' );
	$p->length;
	// Recordad que en programación el primer número es cero.
	$p = $p->item( 0 );

	$p->nodeValue = 'Modificar el texto';

	echo $DOM->saveHTML();
	


}
?>

<body>
	<section>
		<article>
			<p contenteditable>
				Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec at pellentesque odio.
			</p>
			<a href="./index.php?save=1">GUARDAR</a>
		</article>
	</section>
</body>
 

Miguelo

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
7 Feb 2014
Mensajes
14
Podrías usar AJAX, es mucho más fácil y practico. :encouragement:

Sería algo como esto:

HTML:
HTML:
<section>
		<article>
			<p id="contenteditable">
				Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec at pellentesque odio.
			</p>
                        <a id="btn-guardar" href="#">GUARDAR</a>
		</article>
</section>


JQUERY/AJAX:
Insertar CODE, HTML o PHP:
$('#btn-guardar').click(function() { 
$.ajax({
        url: "index.php", //Archivo PHP al que le enviarás el texto en <p>
        type: "GET",
        data: {save: "1", content: $('#contenteditable).text()}
    });
});

PHP:
PHP:
$contenido = $_GET['content']; //Variable que almacena el contenido escrito en <p>
$guardar = $_GET['save'];

if($guardar==1){
   //Realizas la inserción a la BD y todo lo que necesites. 
}

Saludos
 
Última edición:

bertocoder

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
17 Feb 2014
Mensajes
41
Como dice miguelo es la mejor opcion,pero con jquery es facil extarer esa info y hacer un submit a una url por get. Alomejro te sirve y queda todo más simplificado.

;)
 

deqk

Alfa
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
18 Oct 2009
Mensajes
21
Qué tal, Miguelo ya te dió una opción muy útil.. Más allá de eso, aprovecho para darte un consejo, siempre que tengas que trabajar con validaciones, información en controles, y cosas semejantes.. trabaja con ajax, jquery y javascript, te permiten modelar y controlar mucho más lo que haces en ese sentido. Un saludo
 

srlemuuur

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
2 Ene 2014
Mensajes
368
Buenos dias betas,

Este probema me sigue dando problemas de cabeza, no consigo extraer el contenido con jquery!


Podrías usar AJAX, es mucho más fácil y practico. :encouragement:

Sería algo como esto:

HTML:
HTML:
<section>
		<article>
			<p id="contenteditable">
				Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec at pellentesque odio.
			</p>
                        <a id="btn-guardar" href="#">GUARDAR</a>
		</article>
</section>


JQUERY/AJAX:
Insertar CODE, HTML o PHP:
$('#btn-guardar').click(function() { 
$.ajax({
        url: "index.php", //Archivo PHP al que le enviarás el texto en <p>
        type: "GET",
        data: {save: "1", content: $('#contenteditable).text()}
    });
});

PHP:
PHP:
$contenido = $_GET['content']; //Variable que almacena el contenido escrito en <p>
$guardar = $_GET['save'];

if($guardar==1){
   //Realizas la inserción a la BD y todo lo que necesites. 
}

Saludos

Siguiendo este patrón, me esta devolviendo un valor vacio.
 

Miguelo

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
7 Feb 2014
Mensajes
14
Buenos dias betas,
Este probema me sigue dando problemas de cabeza, no consigo extraer el contenido con jquery!
Siguiendo este patrón, me esta devolviendo un valor vacio.

Si lo estás siguiendo tal cual, hay un pequeño error en este pedazo de código, hace falta una comilla en el texto marcado en rojo :distant: :
Insertar CODE, HTML o PHP:
$('#btn-guardar').click(function() { 
$.ajax({
        url: "index.php", //Archivo PHP al que le enviarás el texto en <p>
        type: "GET",
        data: {save: "1", content: [COLOR="#FF0000"]$('#contenteditable).text()[/COLOR]}
    });
});

Debiera quedar entonces así, es solo una comilla simple que hacia falta:
Insertar CODE, HTML o PHP:
$('#btn-guardar').click(function() { 
$.ajax({
        url: "index.php", //Archivo PHP al que le enviarás el texto en <p>
        type: "GET",
        data: {save: "1", content: [COLOR="#008000"]$('#contenteditable').text()[/COLOR]}
    });
});

Y no olvides agregar la librería de JQUERY en tu sitio, si no la tienes, descargala de aquí. jQuery :encouragement:
 
Última edición:

srlemuuur

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
2 Ene 2014
Mensajes
368
Miguelo ets un crack!!!

Muchas gracias!!! putas comillas heheheheehe!!

Gracias!

Ahora me toca hacer el gestor de contenidos utilizando esto :)
 
Arriba