Comunidad de diseño web y desarrollo en internet online

Nesesito una ayuda con separador!!!!!

Citar            
MensajeEscrito el 05 Feb 2009 10:28 pm
Bueno tengo un archivo PHP(Obvio), el cual tiene una variable llamada "idir" la cual esta basada en el metodo GET.

Ahora miren esta variable se maneja mediente directorios:
.....................................................................................
\-Raiz..............................................................................
..\--------images.................................................................
...............\-------------2008..................................................
................España------/\-------- Chile....................................
....................\-------Varcelona......\-------Santiago..................
..................................................\------Puerto.Montt.........
....................................................\-----Punta.Arenas.........
......................................................\----- Petrohue...........
........................................................\----- Puerto.Varas....
..........................................................\----- Otros............
.....................................................................................

Los cuales son imprimidos(mostrados) asi:
/Raiz/images/2008/Chile/Puerto Montt.

ahora mi consulta es:
Como hago para que por cada diagonal(/) que comience se cree una etiqueta "<a href="nombre">", y por cada q diagonal que termine se cierre la etiqueta "</a>"?...

Bueno, esto deberia quedar mas o menos asi si funcionase:
[/[url=#Raiz]Raiz[/url]/[url=#images]images[/url]/[url=#2008]2008[/url]/[url=#2008]Chile[/url]/[url=#Puerto Montt]Puerto Montt[/url].


Bueno miren yo por mas que busque no encontre nada, y hoy he estado desde las 9:38AM intentando completar esto, :roll: se que es patetico, pero espero que alguien me pueda ayudar, pues yo no quiero que el codigo me gane...

Yo soy de los que creen que EL HOMBRE DOMINA AL CODIGO Y NO EL CODIGO AL HOMBRE.
XD es raro, pero aun no me canso de intentar con lo que se(soy novato)...¬¬

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 06 Feb 2009 01:07 am
mira no entendi muy bien eso...pero creo ke puedes hacer esto...
inicias con un separador(/) y cierras con otro(\) y luego a la hora de mostrarla, simplemete reemplasas (/) por (<a href......) y el otro (\) por (</a>)....y te debe kedar lo ke kieres....aunke creo ke debes usar otros separadores.....
ojala te ayude

Por eajuria

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 03:35 am
mira, deberia quedar mas o menos asi:

Código :

/<a href="directorio1" title="directorio1">directorio1</a>/<a href="directorio2" title="directorio2">directorio2</a>/<a href="directorio3" title="directorio3">directorio3</a>/<a href="directorio4" title="directorio4">directorio4</a>/

Bueno si queda asi, estaria bien...

Pero no se como hacer eso si solo tengo en el GET esto:

Código :

/directorio1/directorio2/directorio3/directorio4/


Bueno, espero una ayuda...

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 06 Feb 2009 03:43 am
bueno ya eso es diferente a lo ke kerias al inicio...ya te explico..voy a hacer el codigo

Por eajuria

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 03:54 am
seria asi....

Código PHP :

<?php
   //   texto seria igual a    /directorio1/directorio2/directorio3/directorio4/
 $get = $_GET['texto'];
 
  $arrayget = explode("/",$get);
    $cadena = "";
  foreach($arrayget as $valor)
     {
       $cadena .= "<a href='.$valor.' title='.$valor.'>".$valor."</a>";
     
     }
  
    echo $cadena;
  
?>

Por eajuria

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 07:24 pm
Hola racias, jejeje...
Bueno tengo otra consulta ahora, es que me da rabia halgo de explode, no se si soy yo el que esta mal o bien esto es asi...

Bueno mira quisiera hacer esto:



Si tenemos :
/directorio1/directorio2/directorio3/directorio4/
Recibimos:
/directorio1/directorio2/directorio3/

Para esto se deberia utilizar asi el codigo(teoricamente...):

Código :

<?php 
 $get = $_GET['texto']; 
  $arrayget = explode("/",$get,-1); 
    $cadena = ""; 
  foreach($arrayget as $valor) 
     { 
       $cadena .= "<a href='.$valor.' title='.$valor.'>".$valor."</a>"; 
     } 
    echo $cadena; 
?>


Pero solo nos devolveria:
directorio3/
Cuando nesesitamos:
/directorio1/directorio2/directorio3/

Bueno, espero una ayudita, mira que hasta intente voltear el texto completamente para eliminar solo el primer dato...
XD,....¬¬

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 06 Feb 2009 07:47 pm
para ke te devuelva /directorio1/directorio2/directorio3/ de esto /directorio1/directorio2/directorio3/directorio4/
tienes ke darle -2 al explode
osea asi...

<?php
$get = $_GET['texto'];
$arrayget = explode("/",$get,-2);
$cadena = "";
foreach($arrayget as $valor)
{
$cadena .= "<a href='.$valor.' title='.$valor.'>".$valor."</a>";
}
echo $cadena;
?>

Por eajuria

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 08:48 pm
no asi no funciona...
solo me lanza desde :
directorio3/directorio4/

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 06 Feb 2009 09:55 pm
jejeje....entonces no estamos hablando de la misma cadena.....

copia esta exactamente en un php y ejecutalo....

<?php

$get = "/directorio1/directorio2/directorio3/directorio4/";

$arrayget = explode("/",$get,-2);
$cadena = "";
foreach($arrayget as $valor)
{
$cadena .= "<a href='.$valor.' title='.$valor.'>".$valor."</a>";

}

echo $cadena;

?>

Por eajuria

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 10:47 pm
si, pero no me resulta por que nesesito que sea un GET...
asi:

Código PHP :

<?php
$get = $_GET['idir'];
$arrayget = explode("/",$get,-2);
$cadena = "";
foreach($arrayget as $valor)
{
$cadena .= "<a href='.$valor.' title='.$valor.'>".$valor."</a>";
}
echo $cadena;
?> 

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 06 Feb 2009 11:26 pm
bueno dime exactamente ke estas pasando por get...pero desde .php?......
todo eso dime ke es....para saber ke cadena y poderte ayudar

Por eajuria

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Feb 2009 12:08 am
bueno mira, en el GET "idir" se pasan directorios asi:
/dir/jkj/dhfhf/kffj/nueva carpeta/fjf/images/rar
y eso es lo que pasa precisamente por ese GET(idir).

Todo es relativo y cambiante...

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Feb 2009 03:13 am
alguien me ayuda?

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Feb 2009 05:40 am
Había leído el post y me parecio extraño lo que pedías, pues entendí lo mismo que entendió la primera vez eajuria. En toda caso, creo que es esto lo que necesitas:

Código PHP :

<?php
$str = "/directorio1/directorio2/directorio3/directorio4/";

$pieces = explode("/", $str);

$link = "/";
foreach ($pieces as $dir)
{
   $link .= $dir . "/";
   $text = ucfirst($dir);
   echo <<<OUTPUT
      <a href="$link">$text</a>
OUTPUT;
}



?>


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 08 Feb 2009 04:45 pm
Bueno y como se utiliza esto?
Pues me sale un error...

Código :

Parse error: syntax error, unexpected T_SL in C:\AppServ\www\optica\files.php on line 11

y la linea 11 seria:

Código :

echo <<<OUTPUT


Y bueno me explican esto, ya que este codigo(OUTPUT) es nuevo para mi...

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Feb 2009 04:52 pm
Ok, mira ya lo arregle, ya que solo quite esto de "OUTPUT" y lo deje el codigo asi:

Código PHP :

<?php 
$str = $_GET['idir']; 
$pieces = explode("/", $str); 
$link = "/"; 
foreach ($pieces as $dir) 
{ 
   $link .= $dir . "/"; 
   $text = ucfirst($dir); 
   echo "
      <a href=".$link.">".$text."</a>";
} 
?>


Pero aun tengo la duda de para que servia el tal "OUTPUT"...
Alguien me responde?

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Feb 2009 10:34 pm
Es una forma de imprimir salida con múltiples lineas, donde puedes usar variables y todo.

Código PHP :

echo <<<SALIDA  <p>Esto es un ejemplo de salida con multiples
lineas. Puedes usar variables de cualquier tipo, no obstante
es recomendable para arreglos(con estos más) y propiedades de objetos
lo encierres entre llaves, ejemplo {$obj->propiedad}.</p>

<p>Si te fijas puedo empezar con cualquier palabra luego de 
los <<< pero debe terminar con esa misma palabra en una linea
aparte y seguido de punto y coma, SIN NINGÚN espacio antes.</p>

<p>Más información en: php.net</p>

SALIDA;



Echo en php.net

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 09 Feb 2009 03:02 am
Ok, bien y que tan segura es la imprecion de datos con este metodo?
y como se llama este metodo?

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Feb 2009 11:56 am
¿Qué tan segura?
Aquí no hay tema de seguridad que prever, más que de los tradicionales verbigracia: no imprimir información que el usuario no debería ver.

Ahora esto es un método muy poco conocido y usado, pese a que es una de las mejores formas más limpias de usar el echo pues te evitas de usar el escape de comillas y demás, además que lo soporta cualquier versión de php. No estoy seguro que en php6 se siga soportando pero no veo una razón de peso para que lo dejen o deshabiliten.

¿Como se llama?
En la documentación de php lo llaman "here document", si quieres darle un nombre creo que sería ese. Simplemente es una variación del echo.

---

No obstante, yo prefiero usar -y recomiendo- la separación del código html y php con cualquier sistema de plantillas.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

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