Comunidad de diseño web y desarrollo en internet online

¿Como puedo dividir una cadena con PHP?

Citar            
MensajeEscrito el 13 Oct 2005 10:36 am
Mi problema es el siguiente:
Tengo un campo llamado "Enlace" donde a veces habra una sola URL pero en ocasiones más. He decidido separarlas entonces con ";". Lo que quisiera hacer es que por cada URL se creara un enlace <a href=$Enlace...></a> ya me entiendeis. Pego parte del codigo que lelvo hasta ahora:

Código :

while ($row = mysql_fetch_array($result)){
    $Anio=$row['Anio']; $Nombre=$row['Nombre']; $Lugar=$row['Lugar']; $Fechas=$row['Fechas']; $Enlace=$row['Enlace'];
    if (ereg(";", $Enlace, $regs)) {
       while ($regs) {
          if (ereg("@", $regs)) {
             $href="<a href=\"mailto:$regs\" class=\"arialRosaOscuroLink\" target=\"blank\">$Enlace</a>"
            .$href="<br>";
          }
          else if (!ereg("http://",(substr($regs,0,7))) || !ereg("https://",(substr($regs,0,8)))) {
             $href="<a href='http://".$regs."' class='arialRosaOscuroLink' target='blank'>$Enlace</a>"
            .$href="<br>";
          }
       }
}

Nota: las variables $href son el enlace final, porque puede que en la base de datos las URL no se guarden con mailto: o http:// delante, los que la actualizan quizas no lo saben ;)
Muchas gracias por adelantado

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

msie
Citar            
MensajeEscrito el 13 Oct 2005 11:04 am
usa split que te retorna un array en vez de ereg, el último parametro en ambas funciones es opcional no es necesario colocarlo

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 13 Oct 2005 11:05 am
ok, pero el segundo parámetro guardará las URLs no? tengo que ponerlo.
Podrías escribir un par de líneas? no se muy bien como hacerlo porque no sabría de que manera tratar el array. Thx

PD: que diferencia hay con explode()?

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

msie
Citar            
MensajeEscrito el 13 Oct 2005 04:28 pm
Explode es el idéal:

<?
$variable="valor1@valor2@valor3@valor4@valor5@valor6";
$salida=explode("@",$variable);

//$salida=new array('valor1','valor2','valor3','valor4','valor5','valor6');
?>

Por jhony192

791 de clabLevel

1 tutorial

Genero:Masculino  

Just Another Programmer

firefox
Citar            
MensajeEscrito el 13 Oct 2005 04:37 pm
Vale muchas gracias 8)

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.