5176 sujets

Le Bar du forum

Hello !
Veuillez m'excuser si ce sujet ne porte pas sur les standards, mais peut-etre que je ne suis pas seul me demander ça.

Dans un site j'ai du créér une zone-admin avec possibilité pour les admins de publier directement leur fichiers texte.


J'ai réussi à obtenir le resultat, mais je pense que c'est une grosse usine à gaz :
1 - Je crée un fichier texte au format ANSI avec le bloc-notes.
2 - Dans le bloc notes, je balise les titres, les liens, l'italique, le gras, les adresses mail, les retours à la ligne, les paragraphes etc... avec des balises "maison". Smiley sweatdrop
3 - Lors de la lecture du fichier , j'analyse le fichier texte caractère après caractère et je le converti en html pour avoir une mise en page structurée.

N'y a t-il pas d'autres solution (notamment avec le format unicode) pour que les titres soient reconnus directement en tant que titre, ainsi que les retours de chariot, les paragraphes etc ? Thanx
Modifié par Ralfman68 (06 May 2006 - 16:15)
Ralfman68 a écrit :
N'y a t-il pas d'autres solution (notamment avec le format unicode) pour que les titres soient reconnus directement en tant que titre, ainsi que les retours de chariot, les paragraphes etc ?


En fait ce que tu as fait, c'est un parser minimaliste qui ressemble à celui des wiki…

Pour les paragraphes, il faut déjà penser qu'en HTML et en texte brut ils se codent très différemment. En texte brut, on peut considérer qu'un retour chariot constitue un retour à la ligne… mais en HTML il faut deux balises, ce qui implique de retrouver le début du paragraphe (avec les expressions logiques ?)… ou bien de ruser. En plus de cela, suivant la manière dont le fichier est enregistré, les retours chariot peuvent être des retour chariot Unix, Mac ou Unix+Mac combiné. Il me semble que les valeurs héxadécimales sont "0A" et "0B". Ça doit compliquer les choses je pense.
Merci de ta réponse mpop Smiley smile .
La fonction qui se charge de décoder les balises maison est au point, elle marche, mais je me vois mal demander aux rédacteurs
de baliser leur articles. Smiley decu
Je suppose que tu utilises les expressions régulières ?
Si ce n'est pas le cas, il faut t'y mettre rapidement.

J'aurais tendance à dire qu'un saut de ligne unique = <br />
et deux sauts de suite = saut de paragraphe

Fais effectivement attention au type de retour à la ligne \r\n = ASCII 13 ASCII 10 = windows, \n = ASCII 10 = Linux/Unix, \r = ASCII 13 = Mac.
Ralfman68 a écrit :
Merci de ta réponse mpop Smiley smile .
La fonction qui se charge de décoder les balises maison est au point, elle marche, mais je me vois mal demander aux rédacteurs
de baliser leur articles. Smiley decu

À moins d'intégrer un système avec formulaire, scripts javascript pour le balisage "automatisé" et parser qui va bien – bref un peu comme ce forum –, ça restes effectivement limité.

Tu peux peut-être demander aux rédacteurs un balisage minimal de type wiki simplifié, mais pas plus. Et de toute façon, comme ils ne verront pas directement la version en ligne et n'auront pas la possibilité de la modifier, ils risquent de limiter l'usage de ce balisage par crainte d'erreurs…

Tu es sûr que l'intégration d'un petit CMS ne correspondrait pas mieux à tes besoins ?
C'est pour un site de quoi/censé fonctionner comment ?
euh... c'est pour un site amateur, mais faut que ça fasse pro quand même Smiley ravi .
Pour tout déballer, j'avais bricolé le balisage maison pour un site perso et ça marche bien mais il fallait un quart d'heure pour baliser dix lignes texte brut.
A la moindre erreur ça flanquait le design -et la validation- de la page en l'air (balises imbriquées etc). Pour un autre site on m'a demandé de créer une zone-admin avec possibilité d'insertion de fichiers texte et c'est alors que je me suis interrogé pour trouver une manière plus efficace d'insérer du bête texte.
Je vais voir un peu du coté des expressions régulières (aïe ! rien que le nom rappelle les identités remarquables Smiley langue ) et me renseigner sur ce qu'est un cms.
Modifié par Ralfman68 (06 May 2006 - 16:17)
Ralfman68 a écrit :
Je vais voir un peu du coté des expressions régulières (aïe ! rien que le nom rappelle les identités remarquables Smiley langue ) et me renseigner sur ce qu'est un cms.

Hé hé, comme on dit : « You've got a long way to go » (t'es pas sorti de l'auberge).

Si tu as l'occasion de tester des systèmes de gestion de contenu (Content Management Systems), tu remarqueras sans doute leurs zones de saisie avec parser intégré. Rien qu'un blog Dotclear me semble avoir un parser assez puissant, ce dont on se rend compte en publiant un billet au format wiki.

Pour ce qui est des expressions rationnelles (et non pas régulières),
cf http://fr.wikipedia.org/wiki/Expression_rationnelle