Foros del Web » Programando para Internet » ASP Clásico »

de PHP a ASP

Estas en el tema de de PHP a ASP en el foro de ASP Clásico en Foros del Web. Que tal, tengo el siguiente código en PHP y desearía pasarlo a su equivalente en ASP, alguien sabe como ? Código: <?php $tit = substr($REQUEST_URI, ...
  #1 (permalink)  
Antiguo 20/10/2005, 12:20
 
Fecha de Ingreso: octubre-2004
Mensajes: 21
Antigüedad: 19 años, 7 meses
Puntos: 0
de PHP a ASP

Que tal,

tengo el siguiente código en PHP y desearía pasarlo a su equivalente en ASP, alguien sabe como ?

Código:
<?php $tit = substr($REQUEST_URI, 17, -4); echo $tit; ?>
MUCHAS GRACIAS!!!
__________________
TebanuS
CEO Aeolus Web Hosting :: Ciudad de Buenos Aires, Argentina ::
  #2 (permalink)  
Antiguo 20/10/2005, 12:48
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Supongo sería, en una instrucción:

<%= MID(Request_Uri, 17,LEN(Request_Uri)-4)%>

o exactamente con dos instrucciones:

<% tit = MID(Request_Uri, 17,LEN(Request_Uri)-4)%>: response.write tit%>


Saludos
  #3 (permalink)  
Antiguo 20/10/2005, 12:59
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 9 meses
Puntos: 381
Buenas,

el substr pide la posición inicial y la posición final comenzando desde el principio de la cadena o bien la posición final comenzando desde el final de la cadena en caso de que se le de un número negativo y comienza a contar desde 0. En cambio el Mid pide posición inicial y longitud de caracteres a sacar desde la posición asignada como inicio y comienza a contar desde el 1


podría quedar algo así

Código:
<% 
tit = request.ServerVariables("SCRIPT_NAME") 
tit = Mid(tit, 18, Len(tit)- (4 + 17))
response.write tit
%>
No sé si habrá alguna otra forma de hacerlo más simple
  #4 (permalink)  
Antiguo 20/10/2005, 13:41
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
mmm, bueno en esta referencia se indica: "Si se especifica longitud y es negativa, se omitirán longitud caracteres desde el final de la cadena" y un ejemplo es: $rest = substr("abcdef", 2, -1); // returns "cde"

Esta otra tiene como ejemplo:
$cadena = "123456789";
$trozo = substr($cadena, 2,-3);
echo $trozo."\n"; // 3456

Entonces deduzco que interpreté bien, ¿no?, es una subcadena empezando desde el primer parámetro hasta el largo de la cadena menos el número de caracteres del segundo argumento negativo.

substr($REQUEST_URI, 17, -4)

MID(Request_Uri, 17,LEN(Request_Uri)-4)

Por si sí o por si no, aquí esta la refernecia de funciones de vbscript.

Saludos

PD. Dónde si se me fué, fue en la variable predefinida $REQUEST_URI, pero tunait ya proporcionó el equivalente.
  #5 (permalink)  
Antiguo 20/10/2005, 14:30
 
Fecha de Ingreso: octubre-2004
Mensajes: 21
Antigüedad: 19 años, 7 meses
Puntos: 0
Muchisimas gracias por la ayuda brindada!
__________________
TebanuS
CEO Aeolus Web Hosting :: Ciudad de Buenos Aires, Argentina ::
  #6 (permalink)  
Antiguo 21/10/2005, 01:44
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 9 meses
Puntos: 381
Cita:
Iniciado por Myakire
mmm, bueno en esta referencia se indica: "Si se especifica longitud y es negativa, se omitirán longitud caracteres desde el final de la cadena" y un ejemplo es: $rest = substr("abcdef", 2, -1); // returns "cde"

Esta otra tiene como ejemplo:
$cadena = "123456789";
$trozo = substr($cadena, 2,-3);
echo $trozo."\n"; // 3456
Yess

Cita:
Iniciado por Myakire
Entonces deduzco que interpreté bien, ¿no?, es una subcadena empezando desde el primer parámetro hasta el largo de la cadena menos el número de caracteres del segundo argumento negativo.
Exacto sin embargo la solución MID(Request_Uri, 17,LEN(Request_Uri)-4) no coindice con lo que interpretaste (que interpretaste bien)

Nota la diferencia:

substr(cadena, posición inicial, posición final)
Mid(cadena, posición inicial, cantidad de caracteres desde la posición inicial)

Te pongo un ejemplo; Si usamos la cadena "pericodelospalotes" y queremos obtener "delos"

desde php se pediría así

Código PHP:
<? 
$p 
"pericodelospalotes";//(longitud de 18)
echo substr($p,6,-7); //la primera posición la cuenta desde el 0
?>
Eso nos devolverá "delos"
En cambio con vbscript si le pedimos

Código PHP:
<%
"pericodelospalotes"
Mid(p,6,len(p)-7//la primera posición la devulve desde el 1
response.write p
%> 
nos devolverá, comenzando a contar por el 1, desde la posición 6 (o) la cantidad de su longitud total menos 7 (18-7 = 11 caracteres), osea que dará la cadena "odelospalot"

Por eso hay que encontrar el largo que queremos, que en una cadena de longitud variable como es una uri, restándole a la cadena los caracteres que yá hemos saltado al asignar la posición inicial (6) y además restarle los caracteres que queremos quitarle del final (7) y nos lo deja en 5

Mid(cadena, posición inicial, largo de cadena - (lo que quitamos al inicio + lo que queremos quitar al final))

Código PHP:
Mid(p,6,len(p)- (6+7)) 
...y con eso de que comienza a contar por el 1 nos devuelve "odelo" así que sólo queda aumentar en 1 la posición inicial

Código PHP:
Mid(p,7,len(p)- (6+7)) 
conchos no sé si me etspliqué bien
  #7 (permalink)  
Antiguo 21/10/2005, 07:09
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Cierto, tienes razón ¿dónde habrá estado el fallo?, ya no carburo como antes
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 13:35.