Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2013, 08:32
Mariuch
Invitado
 
Mensajes: n/a
Puntos:
Links automáticos

Buenos días a todos. Les cuento que tengo un foro y me gustaría que los links que la gente pone en las publicaciones se generen automáticamente.

Estuve revisando los foros y encontré varias publicaciones al respecto que me ayudaron mucho.

Por el momento tengo este código que está funcionando casi sin problemas

Código PHP:
<?php
    $listadoPalabras 
explode' '$texto );
    
$contenido '';
    foreach( 
$listadoPalabras as $indice => $palabra) {
        if( 
strstr($palabra'www') ){
            
$listadoPalabras[$indice] = "<a href='http://$palabra' target='_blank'>$palabra</a>";
        } else if( 
strstr($palabra'http://') ){
            
$listadoPalabras[$indice] = "<a href='$palabra' target='_blank'>$palabra</a>";
        }
        
$contenido .= "$listadoPalabras[$indice] ";
    }
 
        echo 
$contenido;
?>
El problema es cuando hay algún enter en la publicación, ya que me genera los links con los saltos de línea (\r\n) incluídos tanto en el href como en el texto. Y a su vez esos saltos de línea se suman a la palabra a continuación y la "pegan".

Por ejemplo si el usuario quisiera publicar:

"Hola, pruebo un link www.google.com

y otro link http://facebook.com"

Quedaría: "Hola, pruebo un link www.google.com\r\n\r\ny otro link http://facebook.com".
Y en el código:

Código HTML:
Hola, pruebo un link <a href='http://www.google.com\r\n\r\ny' target='_blank'>www.google.com\r\n\r\ny</a> otro link <a href='http://facebook.com' target='_blank'>http://facebook.com</a> 
Probé haciendo un str_replace que elimine los saltos de línea, pero el problema es justamente que perdería los saltos de línea y la publicación no respetaría los enter ingresados por el usuario. Tampoco sirve reemplazar por <br /> ni nada por el estilo.

Alguien tiene alguna sugerencia?

Muchas gracias!