Foros del Web » Programando para Internet » PHP »

Correccion de Vinculos impresos desde php

Estas en el tema de Correccion de Vinculos impresos desde php en el foro de PHP en Foros del Web. Hola a todos, soy un novato por aqui, y quisiera acudir a su ayuda, mirando varios temas y buscando en la sabia Googleteca , encontre ...
  #1 (permalink)  
Antiguo 13/05/2010, 14:33
 
Fecha de Ingreso: abril-2010
Mensajes: 11
Antigüedad: 14 años, 6 meses
Puntos: 0
Correccion de Vinculos impresos desde php

Hola a todos, soy un novato por aqui, y quisiera acudir a su ayuda, mirando varios temas y buscando en la sabia Googleteca, encontre ayuda sobre como hacer un mini sistema de noticias, pero me surge un problema que no se como superarlo y es que cada vez que pongo una direccion o vinculo a una imagen, me sale el code con slashes y no muetra nada ya que el code queda mal redactado y no se como hacer para que no salgan al momento de poner los vinculos; asi por ejemplo:

pongo:
<img src="http://www.misitio.com/imagen.jpg" width="400" height="300" />

y sale:
<img src=\"http://www.misitio.com.com/imagen.jpg\" width=\"400\" height=\"300\" />

agradezco toda la ayuda posible para solucionar esto
  #2 (permalink)  
Antiguo 13/05/2010, 14:50
 
Fecha de Ingreso: abril-2010
Mensajes: 11
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Correccion de Vinculos impresos desde php

Se me olvidaba poner el code para que tengan una mejor idea del problema:

Código PHP:
<span class="normal"><b>Nueva noticia :</b></span>  
<p>
<form name="form" action="admin.php" method="post">
  <input type="hidden" name="accion" value="publicar">
  <span class="normal">Nombre :</span><br>
  <input type="text" name="nombre" size="20" class="formulario"><br>
  <span class="normal">E-mail :</span><br>
  <input type="text" name="email" size="20" class="formulario"><br>
  <span class="normal">Titulo :</span><br>
  <input type="text" name="titulo" size="20" class="formulario"><br>
  <span class="normal">Contenido :</span><br>
  <textarea rows="10" name="contenido" cols="35" class="formulario"></textarea><br>
  <input type="submit" value="Enviar" class="formulario">
</form>
</p>

<?php
break;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////            
// Publicar nueva noticia
case publicar:    
    
$fecha date("d/m/Y");
//****************************************************************//        
// Comprobación de campos
$nombre trim($nombre);
$email trim($email);
$titulo trim($titulo);
$contenido trim($contenido);
if(empty(
$nombre)) {
$error[] = "Escribe el >Nombre";
}        
if(
$email != "") {
if (!
preg_match("/^[^@]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,}$/"$email)) {
$error[] = "Tu e-mail no es valido";
    }
}    
if(empty(
$titulo)) {
    
$error[] = "Escribe un Titulo";
}
if(empty(
$contenido)) {
$error[] = "Escribe el Contenido";
}    
//****************************************************************//    
    
if($error) {
?>

  <span class="normal" style="font-size:13pt"><b>Error :</b></span>
  <p>
  <span class="normal">
  
<?php
//Mostramos error si no se llenan los campos de texto
for($i 0$i sizeof($error); $i++) {
echo 
"- $error[$i]<br>";
}
?>

  </span>
  
<?php
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////    
//Si no hay error entonces
} else {       
//Guardamos la noticia en el archivo
$fp fopen($FicheroId,"r");
$id fread($fpfilesize($FicheroId));
$id ++;
fclose($fp);

$fp fopen($FicheroId"w");
fwrite($fp$id);
fclose($fp);

$firma "$id|@|$nombre|@|$email|@|$titulo|@|$contenido|@|$fecha|@|\n";
$fp fopen($FicheroBase"a");
fwrite($fp$firma);
fclose($fp);
?>

  <p align="center">
  <span class="normal" style="font-size:12pt"><b>La Noticia se ha publico con Exito</b><br>Espere un Momento</span>
  <meta http-equiv="Refresh" content="2; URL="admin.php">
  </p>
  
<?php
}
break;    
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////    
//Borrar una noticia
case borrar:
if(
$idmensaje) {
    
$Base file($FicheroBase);

for (
$i 0$i count($Base); $i++) {
$separarDatos explode("|@|"$Base[$i]);

if (
$separarDatos[0] == $idmensaje) {
$Base[$i] = "";
    
$fp fopen("$FicheroBase""w+");
for (
$i 0$i count($Base); $i++) {
fwrite($fp$Base[$i]);
}
fclose($fp);
?>
  #3 (permalink)  
Antiguo 13/05/2010, 15:05
 
Fecha de Ingreso: abril-2009
Mensajes: 45
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Correccion de Vinculos impresos desde php

mmmm...

creo que eso se deve alas Magic Quotes o tal ves no pero... en las nuevas versioens
de php te asigna las slashes enviadas por POTS o GET automaticamente...

la verdad no se como evitar eso pero podrias crear una funcion que las quite

function antislash($str) {

$str = str_replace('\"','"',$str);
$str = str_replace("\'","'",$str);

return $str;

}

saludos =3


}
  #4 (permalink)  
Antiguo 13/05/2010, 15:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Correccion de Vinculos impresos desde php

O mejor usar stripslashes().

Saludos.
  #5 (permalink)  
Antiguo 13/05/2010, 15:17
 
Fecha de Ingreso: abril-2010
Mensajes: 11
Antigüedad: 14 años, 6 meses
Puntos: 0
Muchas gracias amigo AztekaMX por tu rapida respuesta, estoy probando la solucion que me das pero sigue generando las \ (backslashes); segui indagando por la web y encontre una funcion que se llama stripcslashes(), la cual parece ser justa para mi problema, ahora mi duda recae en como hago par incluirla en el code

GatorV, muchas gracias, posteamos al tiempo, si eso vi, esta funcion parece solucionar el inconveniente, ahora mi dilema es como incluirla en el code.

Última edición por GatorV; 13/05/2010 a las 15:47
  #6 (permalink)  
Antiguo 13/05/2010, 17:44
 
Fecha de Ingreso: abril-2010
Mensajes: 11
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Correccion de Vinculos impresos desde php

Gracias amigos, ya lo consegui, para mi codigo era sencillo, la funcion stripcslashes() es resuelve la situacion con los slashes, pero para mi code resulto ser mejor con el str_replace(), aunque tarde un poco descubri que era solo cuestion de escapar el slash dos veces en la funcion para que sirviera, asi:

Código PHP:

$contenido 
str_replace("\\",""$contenido); 

Ojala a alguien le sirva la solucion como a mi

Etiquetas: correccion, vinculos
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 16:22.