Foros del Web » Programando para Internet » PHP »

Lio con if's y else's

Estas en el tema de Lio con if's y else's en el foro de PHP en Foros del Web. Hola a todos, lo que queria conseguir es: Tengo una variable $Enlace una URL, a veces pueden ser dos o mas, separadas cada una por ...
  #1 (permalink)  
Antiguo 14/10/2005, 03:55
 
Fecha de Ingreso: julio-2005
Mensajes: 10
Antigüedad: 12 años, 5 meses
Puntos: 0
Lio con if's y else's

Hola a todos, lo que queria conseguir es:

Tengo una variable $Enlace una URL, a veces pueden ser dos o mas, separadas cada una por ";" ejemplo: http://www.forosdelweb.com;[email protected]
Aqui es donde surge el problema, el codigo que desarrolle es el siguiente
Código PHP:
while ($row mysql_fetch_array($result)){
    
$Enlace=$row['Enlace'];
    if (
ereg(";"$Enlace)) {
        foreach (
split(";"$Enlace) as $url) {
            if (
ereg("@"$url)) {
                
$href.="<a href=\"mailto:$url\" class=\"arialRosaOscuro11Link\" target=\"blank\">$Enlace</a>";
                
$href.="<br>";
            } elseif (!
ereg("http://",substr($url,0,7)) || !ereg("https://",substr($url,0,8))) {
                
$href.="<a href='http://".$url."' class='arialRosaOscuro11Link' target='blank'>$Enlace</a>";
                
$href.="<br>";
            } else {
                
$href.="<a href='$url' class='arialRosaOscuro11Link' target='blank'>$Enlace</a>";
                
$href.="<br>";
            }
        }
    } else {
        if (
ereg("@"$Enlace))
            
$href="<a href=\"mailto:$Enlace\" class=\"arialRosaOscuro11Link\" target=\"blank\">$Enlace</a>";
        elseif (!
ereg("http://",(substr($url,0,7))) || !ereg("https://",(substr($url,0,8))))
            
$href="<a href='http://".$Enlace."' class='arialRosaOscuro11Link' target='blank'>$Enlace</a>";
        else
            
$href="<a href='$Enlace' class='arialRosaOscuro11Link' target='blank'>$Enlace</a>";
    }

El problema principal es que me devuelve mal los enlaces cuando hay dos URL o mas como ya he dicho, los devuelve asi:
Código HTML:
http://www.forosdelweb.com;[email protected]<br>
http://www.forosdelweb.com;[email protected]
y deberia ser:
Código HTML:
http://www.forosdelweb.com<br>
[email protected]
cada uno con su enlace correspondiente sin faltar http:// o mailto: delante. Espero haberme explicado bien
Saludos!
  #2 (permalink)  
Antiguo 14/10/2005, 04:16
 
Fecha de Ingreso: julio-2005
Mensajes: 10
Antigüedad: 12 años, 5 meses
Puntos: 0
RESUELTO!! posteo la solucion por si interesa a alguien:

while ($row = mysql_fetch_array($result)){
$Enlace=$row['Enlace']; $Fechas=$row['Fechas']; $Nombre=$row['Nombre']; $Lugar=$row['Lugar'];
if (ereg(";", $Enlace)) {
foreach (split(";", $Enlace) as $url) {
if (ereg("@", $url)) {
$href.="<a href=\"mailto:$url\" class=\"arialRosaOscuro11Link\" target=\"blank\">$url</a>";
$href.="<br>";
}
if (!ereg("http://",substr($url,0,7)) && !ereg("https://",substr($url,0,8)) && !ereg("@", $url)) {
$href.="<a href='http://".$url."' class='arialRosaOscuro11Link' target='blank'>$url</a>";
$href.="<br>";
} elseif (!ereg("@", $url)) {
$href.="<a href='$url' class='arialRosaOscuro11Link' target='blank'>$url</a>";
$href.="<br>";
}
}
} else {
if (ereg("@", $Enlace))
$href="<a href=\"mailto:$Enlace\" class=\"arialRosaOscuro11Link\" target=\"blank\">$Enlace</a>";
if (!ereg("http://",substr($Enlace,0,7)) && !ereg("https://",substr($Enlace,0,8)) && !ereg("@", $Enlace))
$href="<a href='http://".$Enlace."' class='arialRosaOscuro11Link' target='blank'>$Enlace</a>";
elseif (!ereg("@", $Enlace))
$href="<a href='$Enlace' class='arialRosaOscuro11Link' target='blank'>$Enlace</a>";
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:39.