¿sintaxis de los patrones?

Iniciado por brian_e, 16 Marzo 2009, 00:45 AM

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

brian_e

hola!!

estoy haciendo un foro y pues he llegado a la parte de añadir comandos en la parte de insertar el mensaje.

Pues el problema esta en que estoy utilizando preg_replace para reemplazar por ejemplo:

[imagen=http://localhost/imagenes/logo.jpg]Logo[/imagen]
reemplazar con
<img src="http://localhost/imagenes/logo.jpg" alt="Logo" title="Logo">

He usado de esta manera el preg_replace:

$texto[]='/\[imagen=(http[s]:\/\/([^<> \n\r\[\]&]+?)\.(gif|bmp|jpg))\](.+?)\[\/imagen]/i';
$reemplazar[]='<img src="\\1" alt="\\4" title="\\4>"';


me ha funcionado a la perfeccion. El problema es que ese codigo lo consegui en un ejemplo de foro. Llevo bastantes horas intentando entender como definir la sintaxis de los patrones para algunas otras opciones como [negrita]texto[/negrita] , [cursiva]texto[/cursiva] , etc.

He leido un manual que contiene ese tema pero ha decir verdad no he entendido nada.
¿Podria alguno darme una explicacion?

De antemano se los agredezco mucho.  :laugh:

Agente Naranja

Creo que para algo como:

[b]texto[/b]

El patrón sería algo como:

$texto[]='/\[b\](.+?)\[\/b\]/i';

La verdad no sé demasiado sobre regex, pero he pensado que la única diferencia entre un B y un IMAGEN sería quitarle el SRC de la imagen y cambiar el nombre de la etiqueta.

[u]nsigned

Supongo que queres hacer todo 'desde 0', pero sino usa la libreria BBCode que creo es free.

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!