Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2012, 12:03
manolo_manolo
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Convertir funcion JavaScript a funcion PHP

Hola gente, llevo ya un par de días intentando convertir una función de JavaScript a una función PHP, su función es la de decodificar una cadena de caracteres sin sentido por una legible con las coincidencias de posición de las letras de orig y dest.

Función JavaScript:
Código:
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;
}
Esta es la función de PHP que he conseguido estar más cerca:
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
Funciona casi bien, cuando encuentra un caracter en la cadena, lo sustituye por la letra que hay en su misma posición en $reemplazar.
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!!!!!!