
		WYSIWYG Editor v1.0


Por: Ivn Arias (arias@elleondeoro.com)
Visita: www.php-hispano.net y #php_para_torpes


- Descripcin:

WYSIWYG Editor es un script programado integramente en javascript,
el cual, con solo aadir una linea en la cabezera de tu pgina web,
convertir tus textareas en complejos editores WYSIWYG.

WYSIWYG proviene de What You Si Is What You Get, que traducido
viene a ser algo como Lo que ves es lo que obtienes. Nunca ms
tendrs que preocuparte por el BBCode o por los tags de HTML, con
WYSIGYG Editor todo eso son cosas del pasado.

WYSIWYG Editor proporciona tus usuarios la capacidad de crear textos
con estilos de la manera mas cmoda, prctica y visual posible. Slo
con pulsar un botn el usuario podr marcar un texto en negrita y
ver el resultado al momento.


- Instalacin e integracin:

La instalacin e integracin del WYSIWYG Editor en tu pgina web es
muy sencilla, tan slo sube la carpeta WYSIWYG contenida en el
archivo a tu servidor, y aade la siguiente linea en la cabezera
(entre los tags <head> y </head>) de tu pgina web:

<script language="javascript" src="WYSIWYG/source.js" type="text/javascript"></script>

Es posible que no quieras convertir todos tus textareas, para lo cual
el script incorpora un sistema de exclusion con el cual, especificando
el id de los textareas que no quieres cambiar, puedes hacer que no
sean convertiros en editores WYSIWYG. Para ello solo tienes que
introducir un pequeo cdigo en la pagina web:

<script language="javascript" type="text/javascript">
  var excluidos = new Array("id1", "id2", ...);
</script>

Especificando de esa manera, separado por comas, los ids de los
textareas que deas excluir. Este cdigo puede ir en cualquier punto
de la pgina web, incluso en el body.


- Seguridad:

Instalar WYSIWYG-Editor en tu pagina web no quiere decir que no tengas
porque bajar la guardia en tu web en lo que a seguridad se refiere,
sino todo lo contrario. Los usuarios que utilicen algun explorador
compatible y tengan JavaScript activado, no podrn introducir codigo
malicioso en tu web directamente, pero los visitantes que no sean
usuarios de un explorador compatible o tengan JavaScript desactivado,
en vez del Editor veran un textarea normal, con lo que podran introducir
codigo HTML y PHP a su antojo.

Ademas de esto hay que aadir que no solo podemos recibir informacin
desde dentro de nuestra propia pagina web, seria muy facil disear un
form sencillo en un archivo HTML en el ordenador propio que enviase
informacion a tu pagina web, por lo que debes extremar las precauciones
y controlar que marcas de HTML vas a permitir y cuales no.

Mi consejo es que analices que etiquetas HTML puede enviar el Editor
desde cualquiera de los exploradores compatibles (por ejemplo Internet
Explorer y FireFox no generan el mismo codigo), y que elimines cualquier
etiqueta de HTML que no sean las que puedes recibir.


- Compatibilidad:

El archivo fue comprobado en las versiones 6.0 de Internet Explorer
y 1.0.3 de Mozilla Firefox y el resultado es altamente satisfactorio.
Se hicieron pruebas tambien satisfactorias en otros exploradores que
tambien usan el motor Gecko (El mismo que usa FireFox).
Para otros navegadores no se asegura la compatibilidad.


- Notas:

WYSIWYG-Editor permite disear facilmente textos con estilos, pero
esto tiene un precio, el codigo HTML no siempre seguira los Standars
de la W3C y el tamao del texto sera mucho mayor de lo que sera con
BBCodes o sistemas similares.

En Internet Explorer puede que al hacer intro, en vez de salto de
linea simple, haga un salto de linea doble. Para hacer un salto de
linea simple debes presionar Shift + Enter. (Gracias _ONe_)

Trabajando con PHP hay que tener cuidado cuando recibes un texto de
un form y lo muestras por pantalla. Las magic quotes pueden hacer
que no se muestre correctamente el texto, antes de mostrarlo de nuevo
en el explorador es conveniente que hagas un strip slashes del texto.
(Gracias Voronwe)


- Agradecimientos:

Me gustaria agradecer a todos los amigos del canal #php_para_torpes
del iRC-Hispano el gran apoyo recibido, especialmente a _ONe_ y
Voronwe por probar el script y comentarme fallos y mejoras.

No olvideis visitar www.php-hispano.net
