Foros del Web » Programando para Internet » PHP »

No me reemplaza las tildes en mi funcion

Estas en el tema de No me reemplaza las tildes en mi funcion en el foro de PHP en Foros del Web. Tengo esta funcion y no me reemplaza ninguna tilde Código PHP: <?php function  smarty_modifier_sanitize ( $s ) { $tr  = array(  "á" ,  "é" ,  "í" ,  ...
  #1 (permalink)  
Antiguo 03/11/2009, 18:25
 
Fecha de Ingreso: febrero-2008
Ubicación: /home/public_html
Mensajes: 551
Antigüedad: 16 años, 2 meses
Puntos: 10
No me reemplaza las tildes en mi funcion

Tengo esta funcion y no me reemplaza ninguna tilde

Código PHP:
<?php
function smarty_modifier_sanitize($s) {
$tr = array( "á""é""í""ó""ú"," ""ñ""@","." );
$eng = array( "a""e""i""o""u","_""n""a","-" );
$s str_replace($tr,$eng,$s);
$s eregi_replace("[^0-9A-Za-z]","-",$s);
for(
$i=0;$i <= 10;$i++) {
$s str_replace("--","-",$s);
}
return 
strtolower($s);
}
?>
Por ejemplo cuando escribo algo asi:

Vendo carro del año usadó => vendo-carro-del-a-o-usad-.html

Tratar al correo [email protected] => tratar-al-correo-jaimeahotmail-com.html

Me esta funcionando el arroba los puntos, o simbolos sin la tilde, pero las tildes no los esta reemplazando.

Que es lo que puede suceder porque no me reemplaza, hay algo que tengo que modificar en la Base de Datos o lo esta tomando como esto "t&iacute;tulo" = titulo

O es que el codigo esta en Ingles y mi explorador esta en latino
  #2 (permalink)  
Antiguo 03/11/2009, 19:21
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: No me reemplaza las tildes en mi funcion

debes checar como las imprime, verificalo en tu navegador... viendo el source code...
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 03/11/2009, 20:03
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: No me reemplaza las tildes en mi funcion

tal vez el sgte post te sirva: http://www.forosdelweb.com/f18/probl...me-pdf-711379/
  #4 (permalink)  
Antiguo 03/11/2009, 20:04
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: No me reemplaza las tildes en mi funcion

debes de mirar el Charset que estas utilizando en la base de datos.......debes usar UFT8 o ISO
  #5 (permalink)  
Antiguo 04/11/2009, 09:32
 
Fecha de Ingreso: febrero-2008
Ubicación: /home/public_html
Mensajes: 551
Antigüedad: 16 años, 2 meses
Puntos: 10
Respuesta: No me reemplaza las tildes en mi funcion

Esta es la base que estoy utilizando, en "DEFAULT CHARSET=utf8", es lo correcto o que debo de colocar para que me funcione correctamente el cambio de las tildes.

Cita:
-- phpMyAdmin SQL Dump
-- version 2.11.9.4
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 04-11-2009 a las 08:57:23
-- Versión del servidor: 4.1.22
-- Versión de PHP: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de datos: `av1sos`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `avisos_ad`
--

CREATE TABLE IF NOT EXISTS `phpclass_ad` (
`ad_id` int(11) NOT NULL auto_increment,
`ad_owner` int(11) default '0',
`ad_cat_id` int(11) default '0',
`ad_title` varchar(255) collate utf8_unicode_ci default '0',
`ad_description` text collate utf8_unicode_ci,
`ad_date` int(11) default '0',
`ad_date_expire` int(11) default '0',
`ad_date_updated` int(11) default '0',
`ad_expires_after_days` int(11) default '0',
`ad_owner_notified` tinyint(1) default '0',
`ad_has_video` tinyint(1) default '0',
`ad_has_picture` tinyint(1) default '0',
`ad_has_doc` int(11) default '0',
`ad_views` int(11) default '0',
`ad_votes` double(6,2) default '0.00',
`ad_voters` int(11) default '0',
`ad_totalscore` double(6,2) default '0.00',
`ad_last_vote_ip` varchar(20) collate utf8_unicode_ci default '0',
`ad_is_validated` tinyint(1) default '0',
`ad_is_sold` tinyint(1) default '0',
`ad_is_special` tinyint(1) default '0',
`ad_is_premium` tinyint(1) default '0',
`ad_region` int(11) default '0',
PRIMARY KEY (`ad_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;
  #6 (permalink)  
Antiguo 04/11/2009, 18:12
 
Fecha de Ingreso: febrero-2008
Ubicación: /home/public_html
Mensajes: 551
Antigüedad: 16 años, 2 meses
Puntos: 10
Respuesta: No me reemplaza las tildes en mi funcion

Alguien me puede decir cual es el problema
  #7 (permalink)  
Antiguo 04/11/2009, 18:13
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: No me reemplaza las tildes en mi funcion

tu problema es que tus campos son INT cuando deben ser varchar o TEXT
__________________
Hospedaje Web al mejor costo!
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 23:31.