BALISES HTML

speloman Messages postés 8 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 13 mars 2008 - 12 mars 2008 à 11:38
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 14 mars 2008 à 07:22
Bonjour tou l monde,


chui en tr1 de déveloper une interface admin pour un portail web.
Le problem qui se pose est le suivant: a l'aide de l'diteur tinyMCE je récupère un texte formaté (qui contien des balises html) et je l'introduit dans ma base. O momon de la  récupèration je désire afficher une parti du texte (uniquement 50 caractaires). pour cela j'utilise la fonction "substr($T,0,20).'...';". le problem c que cette fonction me retourne parfois une chaine de caractaires qui contien des balises ouvertes et non fermés (exp: "mon teste") ce qui me cose des problems dans l'affichage. pui je trouver une solution pour détecter les balises qui ne sont pas fermés et les fermer pour éviter ses problems??
j'espère avoir été claire :-)...
merci d'avance...

15 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 mars 2008 à 15:07
Bonjour,

    euh... tu es pénible à lire...   un tout ch'tit efford d'écriture simplifierait

    remarques :
          pourquoi donc mémoriser dans une base des balises html ?
          pourquoi ne vouloir en afficher que les 50 1ers caractères ?

    je ne répond pas réellement  à ta question,

        je pense que cela nous emmènerait trop loin,
        mais à mon humble avis, tu devrais voir les
        choses autrement.....

       ( sinon, dans le texte repérer si une balise est ouverte, et si elle n'est
          pas fermée, alors, le faire : simple à dire... à programmer... ? )

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
speloman Messages postés 8 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 13 mars 2008
12 mars 2008 à 15:41
désolé pour la clareté de l'écriture :-)...
il s'ajit d'une interface admin. je veu danc que l'utilisateur formate le texte qu'il veu afficher a son choi. c a dir que le texte va ètre affiche comme l'utilisateur le veu. c pour su que je le mémorise dans la base avec ses balises.
et pour les 50 caractères: il s'agit d'un extré de paragraphe.
Exp: g un tableau qui contien la liste des formations avec titre, date, explication,...
sauf que j ve pa afficher l'explication entière. jve juste afficher un extré (les 50 premiers charactères) avec un lien qui mène l'utilisateur a la page contenant les détail( l'explication entière).
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 mars 2008 à 15:58
tu écris toujours aussi mal...
    met donc la barre google par exemple, il y a un correcteur orthographique...

tu me réexpliques ce que tu fais, ce que j'avais compris....

ce n'est pas parce qu'on veut un "formatage" de texte qu'on est obligé
       de mémoriser les balises...
quand à l'extrait.. ma foi... ça en découle...

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
12 mars 2008 à 16:31
Bonjour,

idem que Bultez, merci de ne pas écrire en petit chinois...

Pour le reste c'est un problème à régler coté serveur et non coté client !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
speloman Messages postés 8 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 13 mars 2008
12 mars 2008 à 19:06
bonjour
je ne comprend pas se que tu veu dir par "coté serveur"...
je vait expliquer encor plus mon problem.
supposant que j'ait sa dans ma base: " un paragraphe un peu long que je doi afficher

"
j'utilise la fonction "substr" qui me rend sa: " un paragraphe un"
si je fet un "echo" sa me cose un problem dans l'affichage a cause de qui n'est pas fermé...
se que je suit entr1 de chercher c'est une solution pour fermer les balises ouvertes.
une idé??
merci a vous deux Nickadele et Bultez...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 mars 2008 à 07:13
Bonjour,

>> un paragraphe un
>>si je fet un "echo" sa me cose un problem dans l'affichage a cause de qui n'est pas fermé
    ça ne pose aucun problème.

citations ? :

    ce n'est pas parce qu'on veut un "formatage" de texte qu'on est obligé
           de mémoriser les balises...
    quand à l'extrait.. ma foi... ça en découle...
    dans le texte repérer si une balise est ouverte, et si elle n'est
          pas fermée, alors, le faire :

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
speloman Messages postés 8 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 13 mars 2008
13 mars 2008 à 08:49
ok...
alor je fet koi pour garder la mème texte que saisit l'utilisateur si je ne le mémorise pas avec ses balises???
tu peu m'expliquer steplé... je n'en ait aucune idé...
merci.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 mars 2008 à 09:27
si tu ne vois pas.... mémorise les balises...
et dans le texte repére si une balise est ouverte, si elle n'est
          pas fermée, alors, fais le, ajoute les</...> nécessaires
tu n'as toujours pas ajouté la barre de navigation Google ? c'est gratis...
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
13 mars 2008 à 14:38
Bonjour,

Coté serveur >> C'est à l'opposé de coté client.
Pour faire simple :
- Le client c'est la machine qui visite un site.
- Le serveur c'est la machine qui héberge le site. Généralement on y utilise des technologies de type php, asp, .net,...
C'est donc avec l'une de ces technologies que tu devras corriger ton problème.
La solution, Bultez te l'a donné, referme les balises ouvertes !

Ex : si le texte dans ta DB est :

"chui en tr1 de déveloper une interface admin pour un portail web.
Le problem qui se pose est le suivant: a l'aide de l'diteur tinyMCE je récupère un texte formaté (qui contien des balises html) et je l'introduit dans ma base. O momon de la  récupèration je désire afficher une parti du texte (uniquement 50 caractaires). pour cela j'utilise la fonction "substr($T,0,20).'...';". le problem c que cette fonction me retourne parfois une chaine de caractaires qui contien des balises ouvertes et non fermés (exp: "mon teste") ce qui me cose des problems dans l'affichage. pui je trouver une solution pour détecter les balises qui ne sont pas fermés et les fermer pour éviter ses problems??
j'espère avoir été claire :-)..."

Tu veux afficher les 30 premiers caractères soit :
"chui en tr1 de déveloper un"

Il te faudra donc ajouter "" en fin de texte pour que ton balisage soit complet ! 
Résultat : "chui en tr1 de déveloper un"

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 mars 2008 à 14:51
nickel nick...
>>referme les balises ouvertes ( et non  fermées )
    et pas si simple... perso, je ne me lancerais pas dans ce genre
        de script, compte tenu de l'utilité, à priori !
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
speloman Messages postés 8 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 13 mars 2008
13 mars 2008 à 15:01
merci bultez Nickadele...
je kroi que je doit voir le problem autrement...
0
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
13 mars 2008 à 17:56
Re,
une solution serait d'avoir une petite zone de texte (max 255 char)  que les utilisateurs remplirait en même temps que l'autre zone avec un texte résumant la suite. Ce texte serait enregistré sans formatage (pas de balise html).
Ensuite il te suffit de reprendre ce texte au lieu de toute le chaine de caractères à traiter avec les balises.

Je sais pas si j'ai été claire. N'hésite pas si besoin.

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
0
speloman Messages postés 8 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 13 mars 2008
13 mars 2008 à 18:40
j'ai appliqué cette solution déja.
moi se que je voulait s'est de limiter le saisi de l'utilisateur...
je te remerci...
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
13 mars 2008 à 19:41
Bonjour à tous,
une autre solution est
de récupérer le texte formatté dans un DIV caché puis de récupérer son
innerText, qui lui est dépourvu de balise, et de n'afficher que le
nombre de caractères qui t'intéresses.
exemple :
<html>

 
    <li>Texte formatté avec du GRAS et de l'italic</li>
 

<script type="text/javascript">
  var O_1 = document.getElementById( 'D_01');
  var O_2 = document.getElementById( 'D_02');
  var Chaine = O_1.innerText.substring( 0, 40);
  O_2.innerHTML = Chaine +"...";
</script>

</html>
;O)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 mars 2008 à 07:22
loin d'être bête cet innerText
si speloman veut bien faire un extrait sans "formatage", c'est une excellente solution.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
Rejoignez-nous