Foros del Web » Programando para Internet » PHP »

Directiva str_replace , funca a medias... ayuda...

Estas en el tema de Directiva str_replace , funca a medias... ayuda... en el foro de PHP en Foros del Web. Estoy haciendo mod rewrite por ende nececito remplasar acentos y ñ por sus respectivos sin la tilde y el sigo de la ñ. El problema ...
  #1 (permalink)  
Antiguo 22/02/2006, 19:47
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 19 años, 4 meses
Puntos: 1
Directiva str_replace , funca a medias... ayuda...

Estoy haciendo mod rewrite por ende nececito remplasar acentos y ñ por sus respectivos sin la tilde y el sigo de la ñ.

El problema radica en que si por ejemplo remplaso la o por la a, funciona, pero en cuanto a las ñ y las tildes no.

Les dejo el codigo:

Dentro de uno de mis archivos:

Código:
  include_once("sacar.php");
	$cat_titre = strtolower($row["catname"]);
  $cat_titre = preg_replace("/([^a-z0-9]+)/", "-", $cat_titre);
  $cat_titre = trim($cat_titre, "-");
  $cat_titre = sacar($cat_titre);
Código:
$fArray["URL"] = "<a href='clasificados-".$row["catid"] ."-". $set_add_ad_cat . "-". $cat_titre .".html'>";
Archivo sacar:
Código:
<?
function sacar($string){
        $string = str_replace("a","o",$string);
	$string = str_replace("ó","o",$string);
	$string = str_replace("ñ","n",$string);
	$string = str_replace("Ñ","N",$string);
	return $string;
}
?>
Ejemplo de mi problema: (si se fijan la a cambio perfectamente por o)

  #2 (permalink)  
Antiguo 22/02/2006, 20:08
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
cuando usas mod_rewrite en las URL nunca te apareceran las ñ ni las vocales tildadas ni caracteres espciales como [, ], ^, {, }, y asi ya ke seran reemplazadas por su regexp, pero en la url tu puedes poner la url normal con sus caracteres y todo ello pero al ejecutarse estos caracteres cambiaran
  #3 (permalink)  
Antiguo 22/02/2006, 21:06
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 19 años, 4 meses
Puntos: 1
Interesante, pero acaso esto no es para solucionar eso??? porque de ser como dices no tengo otro remedio que no usar tildes.

Código:
<?
function sacar($string){
        $string = str_replace("a","o",$string);
	$string = str_replace("ó","o",$string);
	$string = str_replace("ñ","n",$string);
	$string = str_replace("Ñ","N",$string);
	return $string;
}
?>
Mira este sitio por ejemplo: (remplasan perefectamente la volcal con tilde por una sin tilde)



http://www.frasesok.com.ar/
  #4 (permalink)  
Antiguo 23/02/2006, 06:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Por qué no usan:

urlencode()
www.php.net/urlencode

Con eso se codifican para el URL caracteres como vocales acentuadas, espacios .. ñ .. etc.

Un saludo,
  #5 (permalink)  
Antiguo 23/02/2006, 12:32
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 19 años, 4 meses
Puntos: 1
Como dije la idea, es dejar la letra sin el acento, gracias igualmente.

Alguien tiene alguna idea de cual pueda ser el problema?
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:02.