Foros del Web » Programando para Internet » PHP »

str_replace - [spc]

Estas en el tema de str_replace - [spc] en el foro de PHP en Foros del Web. El [spc] sirve para espacios, ¿cuales sirven para ñ , á , é , í , ó , y ú ?...
  #1 (permalink)  
Antiguo 04/02/2004, 17:33
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
str_replace - [spc]

El [spc] sirve para espacios,

¿cuales sirven para ñ , á , é , í , ó , y ú ?
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #2 (permalink)  
Antiguo 04/02/2004, 22:29
 
Fecha de Ingreso: enero-2004
Mensajes: 431
Antigüedad: 13 años, 10 meses
Puntos: 6
ke es lo ke realmente kieres??
sustituir la ñ de un texto por n ??

si es eso seria asi:

Código PHP:
$texto ereg_replace("ñ""n" $texto);
$texto ereg_replace("á","a" $texto);
$texto ereg_replace("é","e" $texto);
$texto ereg_replace("ó","o" $texto);
$texto ereg_replace("ú","u" $texto); 
__________________
El que teme preguntar, se averguenza de aprender.
  #3 (permalink)  
Antiguo 04/02/2004, 22:39
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Si el texto que buscas no es precisamente un patrón con el que coincidirán varias cadenas... sino que lo tienes absolutamente determinado (en tu caso cambiar la "ñ" por "n")... yo no utilizaría funciones de expresiones regulares como ereg_replace(), sino funciones de cadenas como str_replace() que para eso están... las expresiones regulares mejor dejarlas para cosas más complejas.

Saludos
  #4 (permalink)  
Antiguo 07/02/2004, 12:04
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
me aconsejas lo mismo que tengo cuando me haz puesto otra cosa

str_replace puse yo me expolicas el ereg_replace

y me aconsejas el str_replace

En fin es para una cadena, necesito pasarlo por una url.

el problema esta en sustituir codigos del tipo %** al pasarlo por url
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #5 (permalink)  
Antiguo 07/02/2004, 12:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
DJ-Dom .. para eso ya está:

urlenconde() o rawurlencode() que te codifica una cadena (URL) y te lo deja listo para propagarlo en el URL con toda la conversión de caracteres de ese tipo en sus %** ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 07/02/2004, 14:19
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
DJ-Dom:
Sí había notado que ya utilizabas str_replace() ... pero ante la respuesta de Kez0 quise dar mi opinión.
En realidad el "¿consejo?" era para Kez0... creo que debí especificarlo...

Saludos
  #7 (permalink)  
Antiguo 08/02/2004, 14:56
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
Otra ayudita extra

Hola jpinedo

Ya que estas respondiendo tan rapido, haber si me das una mano en algo que me esta dando dolor de cabeza.

no es por nada pero si usas el messenger estaria muy bien

que contactara conmigo.

ramonronald-at-hotmail-dot-com
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #8 (permalink)  
Antiguo 08/02/2004, 16:39
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 13 años, 11 meses
Puntos: 0
Un preguntita:
Cual es el motivo que se tiene que codificar la url mediante urlencode?
Es que en las url no se pueden passar ñ, espacios, etc?

Perdonad por la pregunta tonta.
  #9 (permalink)  
Antiguo 08/02/2004, 22:10
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
A ver si soy mas claro, tengo un script que muestra el contenido de una carpeta y cuando pulso en en un contenido para verlo da error si el archivo contiene caracteres como los expuesto en el principio. (exepto los espacios que pasan como [spc] en la url


Ese es mi problema.
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #10 (permalink)  
Antiguo 09/02/2004, 06:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
DJ-Dom

Pero .. "pulso en contenido para verlo" .. ¿Eso que hace exactamente? ...

Le pasas una variable tipo: vercontenido.php?contenido=bla blabla con eñe y más blabla con acentos y doto

¿Haces eso? .. Por qué si haces eso ..DEBES usar la función URLENCODE() para "codificar" esa cadena y quede como standard para pasarlo por el URL.

PD: Si pones algo de código que usas será mejor.

jmaribau
No te puedo confirmar la teoría (por qué no me ha dado por buscarla) .. pero en principio por "lógica" .. El standard CGI (Commun Gateway Interface) no lo definió un "español" .. así que la ñ no existe para ellos ni otros caracteres como acentos y otros caracteres internacionales .. así que se usó el ASCII standard y todo lo demás ha de codificarse para obtener su correspondiente código ASCII (supongo). De todos formas .. usa google y busca por el standard CGI que seguro que encuentras más información y teoría al respecto.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 09/02/2004, 12:02
Avatar de Willjce  
Fecha de Ingreso: diciembre-2003
Ubicación: Lima - Peru
Mensajes: 67
Antigüedad: 14 años
Puntos: 0
Idea

hola DJ-Dom....
mira asi como haces ....
vercontenido.php?contenido=bla blabla con eñe y más blabla con acentos y doto

esta bien que uses URLENCODE() pero seria mas facil codificandolo tu!!!
mira!!
ñ -> (%F1) ---- á -> (%E1) ----- é -> (%E9) ------- í -> (%ED) ------ ó -> (%F3) -------- ú -> (%FA) ------- [spc](espacio) -> (%20)

pueba asi === vercontenido.php?contenido=bla%20blabla con%20e%F1eyas%EDen%20todos

a ver si te sirve esto!! saludosssss

att.

willy
__________________
Cita:
El éxito se alcanza convirtiendo cada paso en una meta y cada meta en un paso :pensando:
Att...
Tu amigo Willy... :aplauso:
  #12 (permalink)  
Antiguo 09/02/2004, 15:34
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Re: Idea

Cita:
Mensaje Original por Willjce
...esta bien que uses URLENCODE() pero seria mas facil codificandolo tu!!!
Willy: ... tal vez pueda ser buen ejercicio, ilustrativo, etc... pero ... ¡¿más fácil?!!!!???!!!??? mmmm ... no lo creo... imagínate si nos pusiéramos a "reinventar" todas las funciones del PHP...

Saludos
  #13 (permalink)  
Antiguo 10/02/2004, 19:13
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
Re: str replace - [spc]

A ver si pongo algo de código, que es lo que debí hacer:

href=archivo.php?dir=dir=".str_replace(" ", "[spc]",(str_replace("&", "[amp]",$DirName)))."&image=".str_replace(" ", "[spc]",(str_replace("&", "[amp]",$DirContents[$i])))."&index=".$i."

tambien el caracter & se reemplaza.

Pero he pensado en otra oción que creo es mejor, y aprobecho para postearla aquí mismo:


Me funcionaría mejor una función que pudiera leer el título de un documento.

ya que mi intención es mostrar un título, así el documento puede o debe contener solo caracteres alfanumerícos.

he pensado ponerlo así: <title><? $titulo ?></title>

y poner en cada documento: $titulo = "Entonces aquí poner
acentos y eñes, etc";

y cuando el script lea el contenido de la carpeta que ponga el $titulo del respectivo documento.

Mientras pruebo esto mi pregunta es:

¿Existe alguna función que lea directamente lo que está dentro de
las etiquetas <title></title>, para evitar tener que estar poniendo dichas variables?
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #14 (permalink)  
Antiguo 10/02/2004, 19:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues no sé que tanto complicarse .. desde un primer momento hubieras puesto lo que estás haciendo y ya estarias disfrutando de tu código .. Usa la función urlencode() que para eso está y olvidate de problemas ..


Código PHP:
echo "<a href=\"nose.php?titulo=".urlencode("Esto está aquí con eñes y demás caracteres")."&otravar=".urlencode("otra más con eñes y espacios")."\"">Link con variables con espacios</a>"; 
y en nose.php
Código PHP:
<head>
<
title>urldecode($_GET['titulo'])</title>
</
head
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 10/02/2004 a las 19:38
  #15 (permalink)  
Antiguo 11/02/2004, 08:33
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
re: str replace - [spc]

Pues tiene razon el urlencode() funciona pero para mostrar el título mejor prefiero

htmlspecialchars()


Gracias.

¿Alguna función que lea el título de una página html?
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #16 (permalink)  
Antiguo 11/02/2004, 09:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Con expresiones regulares y abriendo la página hacia un string (cadena).

Código PHP:
<?
// Se lee la página hacia una variable (para eso se hace el implode .. para "concatenar" los elementos que dá como array file() ..
$html =implode('',file("pagina.tal"));

// Se aplican expresiones regulares para encontrar tu patron en esa cadena $html que contiene todo tu página HTML ..
preg_match_all('<title>(.*)</title>',$html,$titulo);

// $titulo es un array que contendrá las ocurrencias de ese patrón (<title>algo aquí</title>) que se encuentren ...
echo $titulo[0]; // sólo miro el primer elemento del array entregado .. se supone que sólo habrá una de esas etiquetas ..
?>
Espero que funcione .. lo mio no son las exp. regulares ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #17 (permalink)  
Antiguo 08/03/2004, 04:39
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
Pues me funcionó, Gracias
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #18 (permalink)  
Antiguo 05/11/2004, 15:48
 
Fecha de Ingreso: noviembre-2004
Mensajes: 7
Antigüedad: 13 años, 1 mes
Puntos: 0
:o

Cita:
Iniciado por DJ-Dom
A ver si pongo algo de código, que es lo que debí hacer:

href=archivo.php?dir=dir=".str_replace(" ", "[spc]",(str_replace("&", "[amp]",$DirName)))."&image=".str_replace(" ", "[spc]",(str_replace("&", "[amp]",$DirContents[$i])))."&index=".$i."

tambien el caracter & se reemplaza.

Pero he pensado en otra oción que creo es mejor, y aprobecho para postearla aquí mismo:


Me funcionaría mejor una función que pudiera leer el título de un documento.

ya que mi intención es mostrar un título, así el documento puede o debe contener solo caracteres alfanumerícos.

he pensado ponerlo así: <title><? $titulo ?></title>

y poner en cada documento: $titulo = "Entonces aquí poner
acentos y eñes, etc";

y cuando el script lea el contenido de la carpeta que ponga el $titulo del respectivo documento.

Mientras pruebo esto mi pregunta es:

¿Existe alguna función que lea directamente lo que está dentro de
las etiquetas <title></title>, para evitar tener que estar poniendo dichas variables?
Jesucristo superestrella! Comenta tu código por diox!!
  #19 (permalink)  
Antiguo 06/11/2004, 14:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
lithiumfire

Tienes la solución (y comentada) y mi último mensaje de este mensaje.

Un saludo,
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:57.