Como posso extrair um texto de uma DIV através de PHP?

  • Autor Autor srlemuuur
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
srlemuuur

srlemuuur

Gamma
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Buenos dias,

Estoy realizando una prueba y tengo lo siguiente:

Inserir CODE, HTML ou 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.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Con php puedes usar Domdocument


Seria algo asi?


Inserir CODE, HTML ou 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>
 
Casi,
PHP:
if(isset($_GET['save']) && $_GET['save']==1){
 
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:
Inserir CODE, HTML ou 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 edição:
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.

😉
 
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
 
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:
Inserir CODE, HTML ou 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.
 
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: :
Inserir CODE, HTML ou 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:
Inserir CODE, HTML ou 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 edição:
Miguelo ets un crack!!!

Muchas gracias!!! putas comillas heheheheehe!!

Gracias!

Ahora me toca hacer el gestor de contenidos utilizando esto 🙂
 
Voltar
Topo