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:
<%
p = "pericodelospalotes"
p = 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:
p = 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:
p = Mid(p,7,len(p)- (6+7))
conchos no sé si me etspliqué bien