Función JavaScript:
Código:
Esta es la función de PHP que he conseguido estar más cerca:function decodem(txt){ var orig="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-.@"; var dest="bcqNdghT1YUV2Xi9jaQklm0LpJDr@stKuv6734wx_yzABCE.FGHMnIOPRSefWZ58-o"; var out=""; if(txt!=""){ for(i=0;i<txt.length;i++){ ind=orig.indexOf(txt.substring(i,i+1)); if(ind!=-1) out+=dest.substring(ind,ind+1); else out+=txt.substring(i,i+1); } } return out; }
Código PHP:
$encontrar =array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '@', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', '.', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '_', '-');
$reemplazar=array('b', 'c', 'q', 'N', 'd', 'g', 'h', 'T', '1', 'Y', 'U', 'V', '2', 'X', 'i', 'o', '9', 'j', 'a', 'Q', 'k', 'l', 'm', '0', 'L', 'p', 'J', 'D', 'r', '@', 's', 't', 'K', 'u', 'v', '6', '7', '3', '4', 'w', 'x', '_', 'y', 'z', 'A', 'B', 'C', 'E', '-', '.', 'F', 'G', 'H', 'M', 'n', 'I', 'O', 'P', 'R', 'S', 'e', 'f', 'W', 'Z', '5', '8');
$tag_url=str_replace($encontrar, $reemplazar, $texto);
echo $tag_url;
El problema es que una vez sustituye una letra, si en el resto del array $encontrar vuelve a estar la letra sustituida la vuelve a sustituir. Por ejemplo con la letra "a", la sustituye por "b" correctamente, pero como la siguiente en el array es la "b" ésta la vuelve a sustituir por la "c". Lo que quiero es que se sustituya una sóla vez. Alguien puede ayudarme?? Mil gracias!!!!!!