speloman
Messages postés8Date d'inscriptionsamedi 2 février 2008StatutMembreDernière intervention13 mars 2008
-
12 mars 2008 à 11:38
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 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...
speloman
Messages postés8Date d'inscriptionsamedi 2 février 2008StatutMembreDernière intervention13 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).
speloman
Messages postés8Date d'inscriptionsamedi 2 février 2008StatutMembreDernière intervention13 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...
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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 :
speloman
Messages postés8Date d'inscriptionsamedi 2 février 2008StatutMembreDernière intervention13 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.
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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]
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 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
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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]
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 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
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201116 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>
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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]