Ver Mensaje Individual
  #10 (permalink)  
Antiguo 02/05/2007, 21:38
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Re: Cortar Url/link dentro de un string.

Aquí un ejemplo aplicado:
Código PHP:
<?php
function get_links($string) {
    
$patron='/\<a href\=(.*?)\>(.*?)\<\/a\>/is';
    
preg_match_all ($patron$string,$coincidencias);
    return 
$coincidencias[0];
};


function 
redlink($link,$largopartes){
    
$patron='/\<a href\=(.*?)\>(.*?)\<\/a\>/i';
    
preg_match_all ($patron$link,$coincidencias);
    
$s='/\<a href\=(.*?)\>(.*?)\<\/a\>/se';
    if(
strlen($coincidencias[2][0])>($largopartes<<1))
        
$r='"<a href=$1>".substr("$2",0,"$largopartes")."...".substr("$2","-$largopartes")."</a>"';
    else
        
$r='"<a href=$1>$2</a>"';
    
$t=preg_replace ($s$r$link);
    return 
$t;
}


foreach(
get_links(file_get_contents('http://www.php-hispano.net/foros/PHP/19794'))as $v)
    echo 
'<br />'.redlink($v,5);
?>
Bueno, lo demás ya no hace falta aclararlo: teniendo todos los links reales en una matriz y en otra los reemplazos, un str_replace y listo!

Última edición por Panino5001; 02/05/2007 a las 21:51