Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/05/2014, 08:06
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Pequeño problema BBCode

Código PHP:
Ver original
  1. <?php
  2. $_POST['text'] = 'Estoy contribuyendo con [link url=http://www.forosdelweb.com]Foros del Web[/link], el foro mas grande de programacion en espanol';
  3. $patt   = '@\[link url="?(?:http://)?([A-Z0-9.]{5,})"?\]([A-Z0-9. ]{1,})\[\/link\]@is';
  4.  
  5. /*
  6. Notar que uso (?:http://)?  en vez de (http://)? porque debo poder referenciar a los demas elementos ($1 %2 ...$n) siempre en el mismo orden independientemente de si ese el grupo (http://) aparece o no en el enlace.
  7.  
  8. Simplemente si existe no se le asigna posicion para reemplazos
  9. */  
  10. $texto = preg_replace($patt, '<a href="$1">$2</a>',$_POST['text'] );
  11. echo $texto;

Resultando en..

Código HTML:
Ver original
  1. Estoy contribuyendo con <a href="www.forosdelweb.com">Foros del Web</a>, el foro mas grande de programacion en espanol
__________________
Salu2!

Última edición por Italico76; 01/05/2014 a las 09:35