begin process at 2010 03 12 14:31:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Filtre HTML


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Filtre HTML

mercredi 16 août 2006 à 15:34:09 | Filtre HTML

ldevun

Bonjour,
J'ai un filtre HTML que j'ai récupéré sur le forum, mais celui-ci a un probleme, il ne m'affiche pas les "<" des balises exemple :

P>Ca FONT color=#ff0000>marche


P> EM>pas très STRONG>bien


Voici le code du filtre html, merci de votre aide.

$TagIsAllowed = false ;
$CurrentTag = "";
$FilteredText="";
$i=0;
$j=0;

/* On parse le texte */

while($i<strlen($text))
{
    if( ($text{$i} != "<") OR (($text{$i} == "<") && ($text{$i+1}=="/" )     )  ) //on cherche des tags html
    { 
    $FilteredText = $FilteredText . $text{$i}; //si pas de tag html, pas de filtrage
    $j++;
    $i++;
    }
    else
    {
    $i++; //on s'interresse au caractere suivant le <
   
        /* on verife que le tag html utilisé est autorisé */   
     foreach ($tags as $TestTag)
        {
       
         $CurrentTag = substr($text,$i,strlen($TestTag));
       
         if (substr_count($CurrentTag,$TestTag) == 1) //si le tag est autorisé on agit en consequence
         {
         $TagIsAllowed = true ;
         $FilteredText = $FilteredText . ">" . $CurrentTag ;
         $i = $i + strlen($TestTag) ;
         }
       
        }
       
        /* si le tag n'est pas autorisé on efface tout jusqu'à la fin du tag */
        if ($TagIsAllowed = false) 
          {
              while ((substr($text,$i,2)!= "</" )&&($i<strlen($text)))
              {
              $i++;
              }
          }
       
       
    } 
}
 


/*Remplacement des \n par des <br />*/

$FilteredText = preg_replace('/\n/i', '<br />', $FilteredText);

return $FilteredText;
}
?>

mercredi 16 août 2006 à 16:50:54 | Re : Filtre HTML

Evangun

Salut,
sans même lire le code,  je pense que mettre $TagIsAllowed = true; devrait marcher
à+
mercredi 16 août 2006 à 16:55:18 | Re : Filtre HTML

ldevun

Non, ca ne marche pas.
mercredi 16 août 2006 à 16:58:12 | Re : Filtre HTML

Evangun

Alors efface cette partie :
($text{$i} != "<") OR
mercredi 16 août 2006 à 17:01:07 | Re : Filtre HTML

ldevun

Je viens d'essayer mais ca ne marche pas non plus ca.
J'ai cherché mais je ne trouve pas l'erreur pourtant il y en a bien une.

vendredi 18 août 2006 à 13:09:04 | Re : Filtre HTML

psykocrash

if( ($text{$i} != "<") OR (($text{$i} == "<") && ($text{$i+1}=="/" )     )  ) //on cherche des tags html


if( ($text{$i} == "<") OR (($text{$i} == "<") && ($text{$i+1}=="/" )     )  ) //on cherche des tags html
vendredi 18 août 2006 à 14:41:11 | Re : Filtre HTML

ldevun

Bonjour,
Ca ne change rien, il ne m'affiche toujours pas les balises "<"...
Dites moi si vous avez d'autres idées. Merci
vendredi 18 août 2006 à 14:41:57 | Re : Filtre HTML

psykocrash

echo htmlspecialchars($code_html);
vendredi 18 août 2006 à 14:43:59 | Re : Filtre HTML

ldevun

Je le fais ou cet echo? Quel est l'intéret, car je ne comprend pas
vendredi 18 août 2006 à 14:47:21 | Re : Filtre HTML

psykocrash

Si je comprend bien, le visiteur peux écrire mais tu ne veux pas que le html qu'il pourrait mettre soit interprété par le naviguateur, c'est bien ça ? alors tu n'a qu'a utiliser la fonction htmlspecialchars($texte);

Sinon l'erreur pourra peut etre etre réglée si tu fait ça :
if ($text{$i} == "<") //on cherche des tags html

1 2

Cette discussion est classée dans : tag, html, filtre, filteredtext, currenttag


Répondre à ce message

Sujets en rapport avec ce message

[Regex] Remplacer des mots qui se trouvent entre un tag HTML [ par webdeb ] Salut à tous, Je suis bloqué sur une expression régulière que je n'arrive pas à trouver. Et pourtant je cherche depuis pas mal de temps. J'ai développ Filtre de balise HTML dans une textarea [ par keket ] Bonjour, je voudrais mettre en place un filtre qui remplacerais les balises html contenu dans une textarea par une chaine vide. Mais le problème est q convertir txt en html [ par zut69 ] Bonjour,J'ai créé un formulaire qui permet d'envoyer un mail, par contre le problème c est que lorsquej'envoie le mail. Les retours lignes tappés dans Alimentation de zone déroulante [ par ecolom ] Bonjour à tous,j'essaie en vains d'ajouter dans mes zones déroulantes de  ma page html une liste de valeurs qui se trouvent dans une table mysql.Je ne passage de variable html vers php [ par chartoire ] bonjour voila ce que j'essaie de faire ! J'ai un fichier html dans lequel je voudrais appeler un fichier php je dois passer une variable au fichie problémé avec html_entity_decode [ par davidcian ] Bonjour,Voila afin de pouvoir enregister une zone de texte dans ma base de donné mysql j'ai du la convertir en de cette façon:$description_res = htmle Textarea et couleur, font + html [ par dclick07 ] Bonjour!!Le titre l'indique, j'aimerais rajouter un option pour que mes membres puisse ajouter de la couleur changé le font et mettre des photos dans  [HTML] Un tableau [ par Frenzey ] Grace à un script j'affiche le contenu d'une table de ma BD.J'ai donc les résultat qui s'affiche les un après les autre et les un en dessous des autre border, margin... [ par holoduke ] bonjour, j'ai une question sûrement toute bête en html, http://www.endersen.eu/Mug/sub_header.htmlVoilà 3 cases de tableau que je voudrais collées. Vo preview d'une page html [ par Locris ] Bonjour,ayant un template de page HTML, je dois faire un formulaire qui permet de mettre les bonnes informations dans la page HTML calquée sur le temp


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,212 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales