comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

BBCODE en PHP Clase BBParser 1.1.0

  • 0 Respuestas
  • 1052 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« en: Octubre 06, 2013, 07:22:25 pm »
Buenas tardes, dejaré el trabajo del día de hoy, tomando mi clase anterior para controlar bbcode No tienes permisos para ver links. Registrate o Entra con tu cuenta le hize un poco de refinamiento e implementé algunas mejoras, asique hoy traigo mi BBParser 1.1.0 con mejoras que mensionaré ahora mismo:

  • Agregado soporte para emoticonos
  • Implementada interfaces
  • Agregado el Property que diseñé No tienes permisos para ver links. Registrate o Entra con tu cuenta
  • Agregado soporte toString para los objetos
  • Agregadas los final function

Voy a detallar las mejoras:
el soporte para emoticonos implementa una nueva clase de tipo smiley (así le llamé) y una función para crear emoticonos que se puedan usar por si no manejan objetos. (bbp_generate_bbcode_smiley();)

A partir de ahora para usar el BBParser tienen que incluir unicamente bbcode_interface.php
La interface les permitirá ver las funciones publicas que pueden utilizar y sus parametros sin tener que ver todo el código.
Si una interfaz se llama Ibbcode es la que se usa en la clase bbcode (por lo que sus funciones son las que están en los objetos instanciados de esa clase)
Si una interfaz dice Iejemplo extend Ibbcode por ejemplo, quiere decir que la interfaz Iejemplo tendrá todas las funciones de Ibbcode además de las que se describen en Iejemplo.

El property les permite acceder a los atributos privados de las clases, por ejemplo ver el id de un bbcode poniendo
Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
echo $objetobbcode->id;donde objetobbcode es el objeto de una de las clases e id es un atributo privado.

El soporte tostring les permite dependiendo de la clase a la que pertenezca un objeto hacer:
$objeto = new bbcode();
echo $objeto;
y mostrará dependiendo de la clase algo de relevancia de la misma clase.

Internamente es útil el final function por si alguien realiza ediciones al modulo BBParser que no pueda realizar ciertos cambios sin que genere errores, lo que asegura el correcto funcionamiento del código aún cuando se quiera sobreescribir ciertas cosas que no se deberían sobreescribir.

Dejando las explicaciones de lado les dejo el código para descargar No tienes permisos para ver links. Registrate o Entra con tu cuenta.

el ejemplo de uso también está adjuntado pero es éste:

Código: PHP
  1. <?php
  2.  
  3. // EXAMPLE OF USE
  4.  
  5. // incluimos el parseador
  6. include('bbcode_interface.php');
  7.  
  8. // creamos la lista de los distintos bbc que usaremos
  9. $lista = No tienes permisos para ver links. Registrate o Entra con tu cuenta();
  10.  
  11. $lista[] = bbp_generate_bbcode_simple('hr', '<hr>'); // [hr] -> <hr>
  12. $lista[] = bbp_generate_bbcode_simple('br', '<br />'); // [br] -> <br />
  13.  
  14. $lista[] = bbp_generate_bbcode_double('b', '<b>', '</b>'); // [b]?[/b] -> <b>?</b>
  15. $lista[] = bbp_generate_bbcode_double('s', '<s>', '</s>'); // [b]?[/b] -> <b>?</b>
  16.  
  17. $lista[] = bbp_generate_bbcode_smiley(':)', '<img src="http://png.findicons.com/files/icons/1577/danish_royalty_free/32/smiley.png">'); // emoticono :)
  18.  
  19. $lista[] = bbp_generate_bbcode_double_params('url', '<a href="?">', '</a>'); // [url=google.com]example[/url] -> <a href="google.com">example</a>
  20.  
  21. $example = '[br]Hola, soy [b]alexander[/b][br] esto es una prueba :) [s]FEOS![/s] [br][hr][br] [url=http://basecode.org]BaseCode[/url][br] Voy a probar ahora, que pasa si dejo una etiqueta abierta como [b]esta[br][br]';
  22. $errors = null;
  23.  
  24. echo $lista[3]; // mostramos el bbcode [s] para probar que se puede hacer un echo directamente al objeto
  25.  
  26. // vemos el texto parseado
  27. echo bbp_parse($lista, $example, $errors);
  28.  
  29. No tienes permisos para ver links. Registrate o Entra con tu cuenta($errors);
  30.  

y se ve así:



como verán en la imagen hay ciertas cosas que funcionan mejor en mi código que por ejemplo en SMF, ya que si en smf dejan una etiqueta abierta, como la de negrita, todo el texto desde donde empieza hasta donde termina el texto queda en negrita, en mi código si no tiene la etiqueta de cierre se muestra sin ser parseado, lo que evita que se vea feo xD.

saludos para todos! espero que les guste!
« Última modificación: Octubre 06, 2013, 07:24:14 pm por alexmanycol »

 

¿Te gustó el post? COMPARTILO!



UserClass [Clase abstracta para manejar usuarios en cualquier sistema y ocasión]

Iniciado por alexander1712

Respuestas: 0
Vistas: 973
Último mensaje Octubre 08, 2013, 04:37:07 pm
por alexander1712
Clase para crear y modificar un archivo Excel desde PHP

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1804
Último mensaje Febrero 24, 2010, 11:42:44 am
por ANTRAX
ErrorClass Clase que te permite generar errores

Iniciado por alexander1712

Respuestas: 0
Vistas: 867
Último mensaje Octubre 09, 2013, 03:27:18 pm
por alexander1712
Clase para conectar a un IRC mediante PHP.

Iniciado por Aex12

Respuestas: 0
Vistas: 1347
Último mensaje Julio 30, 2013, 04:46:19 pm
por Aex12
[CLASS] BBParser (clase para manejar bbcode)

Iniciado por alexander1712

Respuestas: 1
Vistas: 862
Último mensaje Octubre 05, 2013, 04:33:30 pm
por Réplica1