Foros del Web » Programando para Internet » PHP »

Quitar comillas simples

Estas en el tema de Quitar comillas simples en el foro de PHP en Foros del Web. No soy capaz de eliminar las comillas simples de un texto que entra por un formulario No entiendo por qué si uso esto: Código: $caracteres ...
  #1 (permalink)  
Antiguo 17/10/2007, 07:47
 
Fecha de Ingreso: octubre-2005
Mensajes: 25
Antigüedad: 18 años, 6 meses
Puntos: 0
Quitar comillas simples

No soy capaz de eliminar las comillas simples de un texto que entra por un formulario

No entiendo por qué si uso esto:

Código:
	  $caracteres = 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","ñ","á","é","í","ó","ú","à","è","ì","ò","ù","¿","?","¡","!","´","’","`","ã"," ",")","(","Á","É","Í","Ó","Ú",".",",","'");
      $altera = Array("c","a","b","c","d","e","f","g","h","i","j","k","l","m","n","n","o","p","q","r","s","t","u","v","w","x","y","z","n","a","e","i","o","u","a","e","i","o","u","","","","","-","","-","a","-","","","a","e","i","o","u","-","","","");
      $mtitulo_url = str_replace($caracteres, $altera, $mtitulo_urls);
Me funciona salvo si el texto introducido es ...'T... que me devuelve:

la película 'The catch'
la-pelicula- he-catch
  #2 (permalink)  
Antiguo 17/10/2007, 17:26
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Quitar comillas simples

$altera tiene un elemento más que $caracteres. Quizás eso provoque algún comportamiento extraño.

Te recomiendo sustituir la cadena convertida a minúsculas. Así podrías simplificar la sustitución (ya no tendrías que especificar sustituir Á y á, bastaría con sustituir solo Á o solo á). Para hacer esto, basta con poner
Código PHP:
$mtitulo_url str_replace($caracteres$alterastrtolower($mtitulo_urls)); 
También te recomiendo emplear expresiones regulares:

ereg_replace("[^a-z]", "", $cadena);

con lo que eliminás de una vez cualquier caracter que no sea una letra

Con esto, el proceso queda más o menos así:

Código PHP:
$caracteres = Array("ç""ñ","á","é","í","ó","ú","à","è","ì","ò","ù","ã"" ");
$altera = Array("c","n","a","e","i","o","u","a","e","i","o","u","a""-");
$mtitulo_url str_replace($caracteres$alterastrtolower($mtitulo_urls));
$mititulo_url ereg_replace("[^a-z-]"""$cadena); 
Creo que así es mucho más simple.
Agregué "-" en el patrón para no eliminar los guiones que en el paso anterior fueron sustitución de los espacios.


Saludos.
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 18:25.