Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Creación de BBcode en PHP


Para comenzar con la categoría PHP voy a enseñaros como podéis crear una sencilla función para poder poner BBcode que incluya la opción de poner texto en negrita, en cursiva, subrayado, links e imágenes.


10/4/06 - Veremos cómo realizar esto paso a paso. Lo primero es crear la función PHP sin incluir sus instrucciones.

<?
function BBcode($texto){
// aquí ira el contenido de la función
return $texto;
}
?>


Para realizar esto vamos a utilizar un función muy básica en PHP, preg_replace().

De tal forma que si queremos que cuando en $texto aparezcan los tags [b] y [/b] se conviertan en el HTML &lt;b&gt; y &lt;/b&gt; podríamos hacerlo de la siguiente manera:

<?
preg_replace("/\[b\](.*?)\[\/b\]/is","<b>$1</b>",$texto);
?>


Y así podríamos realizarlo con todos los tags sencillos que deseemos pero como siempre hay una mejor opción y es utilizar un array para las expresiones regulares(patrón) y otro para el texto de reemplazo:

<?
function BBcode($texto){
   $a = array(
      "/\[i\](.*?)\[\/i\]/is",
      "/\[b\](.*?)\[\/b\]/is",
      "/\[u\](.*?)\[\/u\]/is"
   );

   $b = array(
      "<i>$1</i>",
      "<b>$1</b>",
      "<u>$1</u>"
   );
   $texto = preg_replace($a, $b, $texto);
   return $texto;
}
?>


Bien ya tenemos una sencilla función para poder poner texto en cursiva, negrita y tachado.

Pero lo propuesto es también poder poner imágenes y enlaces, para las imágenes es muy similar a lo anterior, pero para los enlaces es un poco mas complicado, la función quedaría de la siguiente manera:

<?
function BBcode($texto){
   $a = array(
      "/\[i\](.*?)\[\/i\]/is",
      "/\[b\](.*?)\[\/b\]/is",
      "/\[u\](.*?)\[\/u\]/is",
      "/\[img\](.*?)\[\/img\]/is",
      "/\[url=(.*?)\](.*?)\[\/url\]/is"
   );

   $b = array(
      "<i>$1</i>",
      "<b>$1</b>",
      "<u>$1</u>",
      "<img src=\"$1\" />",
      "<a href=\"$1\" target=\"_blank\">$2</a>"
   );
   $texto = preg_replace($a, $b, $texto);
   return $texto;
}
?>

Ahora bien podemos añadir a la función alguna función extra como puede ser que el texto enviado en html no sea permitido y que este se muestre, esto lo arreglamos con la htmlentities() y también podemos agregar que los saltos de línea sean convertidos automáticamente en &lt;br /&gt; con nl2br(), nuestra función BBcode() final quedará de la siguiente forma:

<?
function BBcode($texto){
   $texto = htmlentities($texto);
   $a = array(
      "/\[i\](.*?)\[\/i\]/is",
      "/\[b\](.*?)\[\/b\]/is",
      "/\[u\](.*?)\[\/u\]/is",
      "/\[img\](.*?)\[\/img\]/is",
      "/\[url=(.*?)\](.*?)\[\/url\]/is"
   );
   $b = array(
      "<i>$1</i>",
      "<b>$1</b>",
      "<u>$1</u>",
      "<img src=\"$1\" />",

       "<a href=\"$1\" target=\"_blank\">$2</a>"
   );
   $texto = preg_replace($a, $b, $texto);
      $texto = nl2br($texto);
   return $texto;
}
?>

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 5 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Mario Juárez*
Estudiante
URL: http://mkarra.zepsilon.com/

Atención: Copyright. Este artículo no se puede reproducir sin la autorización expresa del autor.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Taller de PHP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Scripts en PHP


 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 5 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Taller de PHP
Categorías
+Scripts en PHP

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia