Problème d'apostrophe

Bonsoir,
J'ais un petit souci avec une ponctuation. Lorsque je transfère un texte sur un site il me mets systématiquement un antislash à une apostrophe.
Exemple:d\'architecture .
Voici le code que j'utilise

<?php

function getextension($fichier) {
$bouts = explode(".", $fichier);
$extension = array_pop($bouts);
return $extension;
}

if (!empty($_POST['fichier']) && isset($_POST['fichier']) && $_POST['fichier'] != ".htaccess") {
if ($_POST['action'] == "modifier") {
if (!empty($_POST['contenu']) && isset($_POST['contenu']) &&
!empty($_POST['login']) && isset($_POST['login']) &&
!empty($_POST['pass']) && isset($_POST['pass'])) {
if ($_POST['login'] == "###" && $_POST['pass'] == "####") {
if (getextension($_POST['fichier']) == "txt" && !ereg("\.\.", $_POST['fichier']) &&
!ereg("/", $_POST['fichier']) && file_exists("./interact/" . $_POST['fichier'])) {
$pointeur = fopen("./interact/" . $fichier, "w");
fwrite($pointeur, $_POST['contenu']);
fclose($pointeur);
} else echo "Fichier non autorisé !\n";
} else echo "Login ou mot de passe incorrect !\n";
} else echo "Formulaire incomplet !\n";
} else {
if (getextension($_POST['fichier']) == "txt" && !ereg("\.\.", $_POST['fichier']) &&
!ereg("/", $_POST['fichier']) && file_exists("./interact/" . $_POST['fichier'])) {
echo "<form action='admin_texte.php' method='post'>\n";
echo "<input type='hidden' name='action' value='modifier'>\n";
echo "<input type='hidden' name='fichier' value='$fichier'>\n";
echo "Contenu de $fichier :<br>\n";
echo "<textarea name='contenu' cols='50' rows='12'>";
$fichier = $_POST['fichier'];
$pointeur = fopen("./interact/" . $fichier, "r");
while (!feof($pointeur)) {
$ligne=fgets($pointeur, 4096);
echo "$ligne";
}
fclose($pointeur);
echo "

3 réponses

  1. Bonjour motin,

    ton code m'interesse, j'aimerai bien le testé dans un petit site perso sans prétention :)

    mais d'après ce que je vois il n'est pas complet là, est ce que ça te dérangerai de le remette en complet?

    pour la week que je suis ce serait d'une grande aide pour bien le comprendre^^

    Merci beaucoup :)
    1. salut,
      Stripslahes est une fonction qui permet d'enlever les \ devant les charactères spéciaux.

      $test="l\'homme"
      echo $test; // l\'homme

      $test2=stripslashes($test);
      echo $test2; // l'homme

      Essaie de trouver des exemples sur le net au lieu de pomper sans comprendre les lignes de codes ;-)

      ++
      1. Modérateur
        Salut,

        Sûrement pour échapper les caractères spéciaux...
        Regarde du côté de stripslashes() lorsque tu veux afficher ton texte...:
        http://fr2.php.net/manual/fr/function.stripslashes.php
        1. j'ais lu la doc, donc j'ais rajouté cette ligne de code sur le code ou le texte apparait
          <?
          $lecture=fopen("interact/accueil.txt","r");
          while (!feof($lecture)) {
            $ligne=fgets($lecture,4096);
            echo "$ligne <BR>";
            echo stripslashes($str);
          }
          fclose($lecture);
          ?>		
          

          mais cela ne marche pas
        2. Modérateur
          Salut,

          Oui forcément si tu reprends exactement le même nom de variable que dans l'exemple du site de php ça ne risque pas de marcher :-)