Foros del Web » Programando para Internet » PHP »

reemplazar caracteres en todo el sitio

Estas en el tema de reemplazar caracteres en todo el sitio en el foro de PHP en Foros del Web. Me gustaría que me orientárais para crear un comando o función que pudiera poner por ejemplo en el config.php, y me reemplazara unos caracteres determinados ...
  #1 (permalink)  
Antiguo 05/05/2010, 05:42
 
Fecha de Ingreso: abril-2006
Mensajes: 4
Antigüedad: 18 años
Puntos: 0
reemplazar caracteres en todo el sitio

Me gustaría que me orientárais para crear un comando o función que pudiera poner por ejemplo en el config.php, y me reemplazara unos caracteres determinados por otros en todo mi sitio web.

Por ejemplo, cambiar la "a" por "e" en todo el sitio.

Gracias
  #2 (permalink)  
Antiguo 05/05/2010, 05:55
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: reemplazar caracteres en todo el sitio

Una cosa que se me ocurre es esto:

1. Pones al principio de todo, la primera linea, ob_start() eso hará que el contenido no salga en pantalla por el momento

2. Después de haber escrito todo el html, incluso cualquier cosa en PHP, al final del script, pones, $codigo_pagina = ob_get_contents(); eso hará que todas las salidas que hayas hecho en HTML, se guarden en esa variable, ya no van a salir por pantalla, serán almacenadas en la variable $codigo_pagina.

3. Ahora que tienes todo el código de la página, usas la funcion str_replace para reemplazar lo que quieras, en el ejemplo que has puesto sería algo así:
Código PHP:
str_replace("a""e"$codigo_pagina); 
lo sacas en pantalla con un echo, y ya tienes todas las letras cambiadas.

4. Después de eso pones ob_end_clean() y listo.

ob_start: http://es.php.net/manual/en/function.ob-start.php
ob_get_contents: http://es.php.net/manual/en/function.ob-get-contents.php
ob_end_clean: http://es.php.net/manual/en/function.ob-end-clean.php

Espero que te sea de utilidad, un saludo.
  #3 (permalink)  
Antiguo 05/05/2010, 07:22
 
Fecha de Ingreso: abril-2006
Mensajes: 4
Antigüedad: 18 años
Puntos: 0
Respuesta: reemplazar caracteres en todo el sitio

Cita:
Iniciado por Heli0s Ver Mensaje
Una cosa que se me ocurre es esto:

1. Pones al principio de todo, la primera linea, ob_start() eso hará que el contenido no salga en pantalla por el momento

2. Después de haber escrito todo el html, incluso cualquier cosa en PHP, al final del script, pones, $codigo_pagina = ob_get_contents(); eso hará que todas las salidas que hayas hecho en HTML, se guarden en esa variable, ya no van a salir por pantalla, serán almacenadas en la variable $codigo_pagina.

3. Ahora que tienes todo el código de la página, usas la funcion str_replace para reemplazar lo que quieras, en el ejemplo que has puesto sería algo así:
Código PHP:
str_replace("a""e"$codigo_pagina); 
lo sacas en pantalla con un echo, y ya tienes todas las letras cambiadas.

4. Después de eso pones ob_end_clean() y listo.

ob_start: http://es.php.net/manual/en/function.ob-start.php
ob_get_contents: http://es.php.net/manual/en/function.ob-get-contents.php
ob_end_clean: http://es.php.net/manual/en/function.ob-end-clean.php

Espero que te sea de utilidad, un saludo.
Si hago el echo después del ob_end_clean() sí que funciona.

Gracias Helios, aunque es un buen comienzo y los comandos que dices son muy interesantes, lo que yo quiero en realidad es cambiar todas las cadenas de texto que se encuentran en las variables, pero no quiero que se cambie el código html, porque entonces se pueden producir errores, como las hojas de estilo, que se me pierden, ya que llama a una hoja de estilo que no existe, pues he cambiado las "as" por "es".

Perdona, quizá tenía que haber empezado por ahí.
  #4 (permalink)  
Antiguo 05/05/2010, 07:40
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: reemplazar caracteres en todo el sitio

solo reemplaza str_replace por una expresion regular? preg_replace ahi le dices que reemplaze todo lo que no este dentro de tags..

saludos!
__________________
More about me...
~ @rhyudek1
~ Github

Etiquetas: caracteres, reemplazar, todo
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 21:34.