Foros del Web » Programando para Internet » PHP »

Reemplasar signo mayor y signo Menor..

Estas en el tema de Reemplasar signo mayor y signo Menor.. en el foro de PHP en Foros del Web. Hola Amigos me podrian ayudar a reemplasar el signo mayor o menor teniendo en cuenta las etiquetas html Código PHP: //ejemplo //reemplasar -->> $cadena = "<b>Mi Album -->></b>" ...
  #1 (permalink)  
Antiguo 14/12/2008, 10:52
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Reemplasar signo mayor y signo Menor..

Hola Amigos me podrian ayudar a reemplasar el signo mayor o menor teniendo en cuenta las etiquetas html
Código PHP:
//ejemplo
//reemplasar -->>
$cadena="<b>Mi Album -->></b>"
  #2 (permalink)  
Antiguo 14/12/2008, 11:33
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Respuesta: Reemplasar signo mayor y signo Menor..

No se entiende que es lo que deseas reemplazar. Da un ejemplo: "tengo esto ***** y quiero que quede así ***
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 14/12/2008, 11:40
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Reemplasar signo mayor y signo Menor..

lo que quiero es reemplasar ( < por ='&lt;' y > por ='&gt;' ).
-es que ala hora de emprimir estos caracteres me joderia la web solo quiero sus valores ascii
  #4 (permalink)  
Antiguo 14/12/2008, 11:49
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Reemplasar signo mayor y signo Menor..

Cita:
Iniciado por uselox Ver Mensaje
nadie me ba ayudar -.-
Tranquilo, que apenas pasó media hora y ya estas desesperado?

Recuerda que aqui nadie esta obligado a ayudarte, lo hacemos porque queremos.

No has especificado porque quieres reemplazar esos signos.
Pero talvez str_replace() te pueda ayudar, tambien esta strtr(), entre otras.
O si deseas algo mas complicado, estan las expresiones regulares. preg_replace() o ereg_replace()

EDIT:

Cita:
lo que quiero es reemplasar ( < por ='&lt;' y > por ='&gt;' ).
-es que ala hora de emprimir estos caracteres me joderia la web solo quiero sus valores ascii
Ah, en ese caso usa htmlentities().
  #5 (permalink)  
Antiguo 14/12/2008, 11:59
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Reemplasar signo mayor y signo Menor..

xD
quiero q me agen el code xD
es que ala hora de hacer el str_replace() tbm atraparia a las etiquetas html, eh hay el dilema.
yo quiero que no chape las etiquetas html >.<
  #6 (permalink)  
Antiguo 14/12/2008, 12:00
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Reemplasar signo mayor y signo Menor..

¿De donde viene el texto el cual quieres reemplazar las etiquetas HTML por su equivalente?

Muestra el codigo que ya tienes hecho, para partir desde allí.
  #7 (permalink)  
Antiguo 14/12/2008, 12:04
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Reemplasar signo mayor y signo Menor..

viene de un formulario
el usuario tratara de usar caracteres especiales, etc
mi idea es que los caracteres (< y > ) no ingresen ala bd.
por razones ovias...
  #8 (permalink)  
Antiguo 14/12/2008, 12:09
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Reemplasar signo mayor y signo Menor..

Entonces es simplemente aplicarle la funcion htmlentities() a tu variable de formulario antes de meter los datos a una BBDD.

Código PHP:
<?php
//Supongamos que la variable es $_POST['campo']
$campo htmlentities($_POST['campo']);
mysql_query("INSERT INTO tabla(columna) VALUES('$campo')");
?>
Eso convertira todas las las etiquetas a su equivalente HTML. Y no tendras ningun problema al mostrar el codigo.
  #9 (permalink)  
Antiguo 14/12/2008, 12:55
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Reemplasar signo mayor y signo Menor..

Código PHP:
<?php
//ejemplo
//reemplasar -->>
$cadena="(< y > ) mastex <!-- <b>Mi Album -->></b> <<-- mastex < <b>Mi Album -->></b>"
function 
str_cadena($cadena){
  
$cadena =str_replace'-->>''--&gt;&gt;'$cadena );
  
$cadena =str_replace'<!--''&lt;!--'$cadena );
  
$cadena =str_replace'<''&lt;'$cadena );
  
$cadena =str_replace'>''&gt;'$cadena ); 
  
// &lt; a, < y &gt; a, >
  
$cadena =str_replace'&lt;b&gt;''<b>'$cadena );
  
$cadena =str_replace'&lt;/b&gt;''</b>'$cadena );
  return 
$cadena;
}
echo 
str_cadena($cadena);
?>
  #10 (permalink)  
Antiguo 14/12/2008, 12:58
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Reemplasar signo mayor y signo Menor..

thezzin, tu funcion hace trabajo de mas:

Código PHP:
$cadena =str_replace'-->>''--&gt;&gt;'$cadena ); 
  
$cadena =str_replace'<!--''&lt;!--'$cadena ); 
  
$cadena =str_replace'<''&lt;'$cadena ); 
  
$cadena =str_replace'>''&gt;'$cadena );  
  
$cadena =str_replace'&lt;b&gt;''<b>'$cadena ); 
  
$cadena =str_replace'&lt;/b&gt;''</b>'$cadena ); 
Para que reemplazar <!-- por separado? Si al decirle al codgio que reemplace '<' se cambiara automaticamente.

Es mas practico crear algo asi como un BBCode parser.
  #11 (permalink)  
Antiguo 14/12/2008, 12:59
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Reemplasar signo mayor y signo Menor..

ok Ronruby ya lo probare...
y thezzin yo quiero que las etiquetas html se mantengan osea que se reemplacen todos los signos mayores o menores que se encuentren exepto de las etiquetas html.
  #12 (permalink)  
Antiguo 14/12/2008, 13:24
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Reemplasar signo mayor y signo Menor..

Ronruby estoy de acuerdo con lo que dices
y el código que le puse arriba solo es una idea y
como dices tu seria mojes algo así.
Código PHP:
<?php
$cadena
="wwwwwwwww[b]mastex[/b]wwwwwwww"
function 
str_cadena($cadena){
return 
preg_replace('/\[b\](.+)\[\/b\]/i''<b>$1</b>'$cadena);
}
echo 
str_cadena($cadena);
?>
  #13 (permalink)  
Antiguo 14/12/2008, 13:30
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Reemplasar signo mayor y signo Menor..

Cita:
y thezzin yo quiero que las etiquetas html se mantengan osea que se reemplacen todos los signos mayores o menores que se encuentren exepto de las etiquetas html.
Ahhhhh! ¿Dices que quieres que se queden todas las etiquetas HTML, pero cuando el signo '<' o '>' se encuentren solos estos se reemplacen por su equivalente HTML?

Ejemplo:
$texto: = "Esto es un <b>texto</b> >>> mas texto";
Se reemplace por:
"Esto es un <b>texto</b> &gt;&gt;&gt; mas texto";

Entonces ya ahi la cosa se complica un poquito. Lo unico que se me ocurre es usar un "comodin" y reemplazar dicho comodin por el equivalente HTML de '<' o '>' al poner el texto en la base de datos.

Por ahora es todo lo que tengo. Si se me ocurre algo luego, lo posteo por aqui.
  #14 (permalink)  
Antiguo 14/12/2008, 13:34
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Reemplasar signo mayor y signo Menor..

ok gracias Ronruby por fin lo entendieron -. -!
  #15 (permalink)  
Antiguo 14/12/2008, 14:58
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Reemplasar signo mayor y signo Menor..

Cita:
Iniciado por uselox Ver Mensaje
ok gracias Ronruby por fin lo entendieron -. -!
Bueno quizás esto te funcione
edita la linea #5 ($patron ), si quieres permitir mas etiqueta

Código PHP:
<?php
$cadena
=" <p>ww</p>ww<h1>H_1</h1>(< y > ) mastex < <b>Mi Album -->></b>www>www<w>"
function 
str_cadena($cadena) {
  
$nueva_cadena'';
  
$patron '/(<\/?(?:a .*|h1|h2|b|i)>)/ims'//etiqueta permitida
  
$Narray preg_split$patron$cadena, -1PREG_SPLIT_DELIM_CAPTURE PREG_SPLIT_NO_EMPTY );
  foreach (
$Narray as $elemento) {
   if (!
preg_match($patron$elemento))
     
$elemento htmlspecialchars html_entity_decode($elementoENT_QUOTES), ENT_QUOTES);
   
$nueva_cadena.= $elemento;
  }
  return 
$nueva_cadena;
}
echo 
str_cadena($cadena);
?>
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 07:39.