martes, 1 de diciembre de 2009

Acceder al contenido del CKEditor con jQuery

Una de las características de jQuery es la facilidad con la que puedes acceder a la información de los campos de una página web. Esto es muy útil si queremos validar formularios, etc... Por otro lado, el CKEditor (digamos que es algo así como la siguiente generación del FCKEditor) es un editor de textos WYSIWYG que va estupendamente.
Si uno crea un CKEditor mediante:
<textarea id="editor1" class="ckeditor" name="editor1" ></textarea>
Uno se espera acceder a su contenido usando lo siguiente:
$('#editor1').html();
Pero pronto veremos que esto no funciona. Esto se debe a que el CKEditor convierte el textarea en el siguiente código HTML:

<span id="cke_editor2" class="cke_skin_kama" lang="es" tabindex="0" title=" " dir="ltr" onmousedown="return false;">

Incrustar el mp3Player del MySpace en otro sitio

Hola a todos.
Voy a comentar cómo podemos "copiar" el reproductor mp3 de cualquier cuenta de MySpace para "incrustarlo" en otro sitio usando el PHP Simple HTML Dom Parser. No hace falta decir que se puede hacer muchísimo más pero, como ejemplo ilustrativo, creo que esto mola.

Nota: Recomiendo usar el Firefox con el plugin de Firebug para facilitar la visualización del código HTML.

Paso 1.

Descargar el PHP Simple HTML Dom Parser y ubicarlo en alguna carpeta accesible desde el sitio que estemos desarrollando. Personalmente, suelo crear una carpeta www.midominio.com/lib (de "librería") en la que coloco todas las librerías externas que descargo. En este caso sería algo así como www.midominio.com/lib/simplehtmldom/simple_html_dom.php (el archivo comprimido viene con una carpeta con los manuales y otra con ejemplos. Les recomiendo que le echen un vistazo).

Paso 2.
Copiar esto:
<?php
/* cargar el simplehtmldom */
require('lib/simplehtmldom/simple_html_dom.php');

/* importar el html del sitio MySpace. Cambiar jamiroquai por el que os guste.*/
$html = file_get_html('http://www.myspace.com/jamiroquai');

/* buscar el div que tiene id="profile_mp3Player" y mostrar su interior (innertext)*/
foreach($html->find('div#profile_mp3Player') as $mp3_player)
echo $mp3_player->innertext . '
';
?>
et voilà!

Como pueden ver, es bastante simple. Con el Parser se pueden hacer miles de maravillas y es muy útil cuando quieres mostrar contenidos de otras páginas que no cuentan con un servicio de rss o algo parecido.

Nada más. Saludos a todos.