Tom's Guide > Forum > Programmation > souici de regex pour mettre des puces dans les messages posté

souici de regex pour mettre des puces dans les messages posté

Forum Programmation : souici de regex pour mettre des puces dans les messages posté

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

bonjour

voilà la page

http://forum.exemple.free.fr/

il met les puces dans ie 7 et pas fire fox

et en plus il me dit érreur de w3c

http://validator.w3.org/check?uri= [...] or%2F1.591

et pour temps j'ai bien mis le code :

donc voilà le principe quand on clique sur liste ça mettra dans le texterea

<puce>bonjour
<puce>au revoir

en faite comme ce site à peux pret

  • comme ce site
  • mais il y as des souci de w3c
  • et il oublie de mettre les puce dans fire fox


voilà le code de regex donc bbcode.php

donc j'ai éssayé

Citation :

// Balise Des Listes Des Puces
$texte = preg_replace('`\&lt;liste\&gt;`isU', '<ul>$1</ul>', $texte);
$texte = preg_replace('`\&lt;puce\&gt;`isU', '<li>$2</li>', $texte);
$texte = preg_replace('`\<br \>`isU', '</puce>$3</liste>', $texte);





si je met ce code

Citation :

// Balise Des Listes Des Puces
$texte = preg_replace( '#<(liste)>(.*)</(\\1)>#Umsi', '<ul>$2</ul>', $texte );
$texte = preg_replace( '#<puce>(.*)\n#Umsi', '<li>$1</li>', $texte );



il n'a pas d'érreur mais oublie de mettre les puces sur les 2 navigateurs

où si je met

Citation :

// Balise Des Listes Des Puces
$texte = preg_replace( '#&lt;(liste)&gt;(.*)</(\\1)>#Umsi', '<ul>$2</ul>', $texte );
$texte = preg_replace( '#&lt;puce&gt;(.*)\n#Umsi', '<li>$1</li>', $texte );



là il met les puce sur ie 7 et pas sur fire fox et il met des érreurs de w3c comme j'ai dit plus haut

donc comment je pourrais faire pour mettre les puces dans les messages posté sans avoir d'érreur

merci d'avance

ps là j'ai éssayé de mettre

Citation :

// Balise Des Listes Des Puces
$texte = '<liste>
<puce>bonjour
<puce>voilà
<puce>ceux que je veux faire
</liste>';

$texte = preg_replace( '#<(liste)>(.*)</\\1>#Umsi', '<ul>$2</ul>', $texte );
$texte = preg_replace( '#<puce>(.*)\n#Umsi', '<li>$1</li>', $texte );



là il met bien les puces maintenant il faut enlenvé ce bout de code en fessant la même chose

Citation :

$texte = '<liste>
<puce>bonjour
<puce>voilà
<puce>ceux que je veux faire
</liste>';



avec 5 érreurs

merci


Message édité par titirigole le 04-10-2008 à 13:56:50
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Salut,

Tu mets tellement d'exemple qu'au final on sait même pas lequel est actuellement sur ton site :)

Tu veux que ce soit comment le BBCode ?

Code :
  1. <liste>
  2. <puce>puce1
  3. <puce>puce2
  4. <puce>puce3
  5. </liste>



Ou juste

Code :
  1. <puce>puce1
  2. <puce>puce2
  3. <puce>puce3

------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR

lol

oui c'est vrai il y as plein d'exemple mais j'aimerais le mettre comme ça et si tu regarde le site et tu clique sur liste ça met bien :

<puce>puce1
<puce>puce2
<puce>puce3

donc il met bien sur ie 7 mais pas dans firefox

idém pour le javasscript pour ma previsualisation dans ie 7 il met bien et pas ds fire fox

donc j'ai mis ce code en javasscript pour la previsualisation

Citation :

// balise liste des puces

t=deblaie(/(\<\/liste\> )/g,t)
t=remplace_tag(/<puce>(.+)/g, '<ul>$1</ul>', t)

t=remplace_tag(/<br \/>/g,'<li>$1</li>',t)

t=remblaie( t)



met dans fire fox il oublie le mettre dans la previsualisation

et pour les message posté j'ai mis ça dans bbcode.php

Citation :

// Balise Des Listes Des Puces
$texte = preg_replace('`\&lt;liste\&gt;`isU', '<ul>$1</ul>', $texte);
$texte = preg_replace('`\<br \>`isU', '<br />$1', $texte);
$texte = preg_replace('`\&lt;puce\&gt;`isU', '<li>$1</li>', $texte);



donc comment on fait pour mettre les puces dans les 2 navigateurs sans faire des <br /><br />

car là il fait sauté des lignes entre les puces


il fait ca

début des phrases


  • bonjour


  • au revoir



c'est finit

au lieu de faire ça

début des phrases

  • bonjour
  • au revoir


c'est finit

merci de ton aide

Répondre à titirigole

Désolé mais c'est toujours aussi flou ...
Tu dis que tu veux mettre comme ça

Code :
  1. <puce>puce1
  2. <puce>puce2
  3. <puce>puce3



Mais dans ton code PHP, tu mets des <liste> </liste> que tu transformes en <ul> </ul>

Maintenant, ton code $texte = preg_replace('`\&lt;liste\&gt;`isU', '<ul>$1</ul>', $texte); Il remplace <liste> par <ul></ul>
Ton code $texte = preg_replace('`\&lt;puce\&gt;`isU', '<li>$1</li>', $texte); il remplace <puce> par <li></li>

Donc au final ton code va donner :

Code :
  1. <ul></ul>
  2. <li></li>puce1
  3. <li></li>puce2
  4. <li></li>puce3



Toi ce que tu veux c'est

Code :
  1. <ul>
  2. <li>puce1</li>
  3. <li>puce2</li>
  4. <li>puce3</li>
  5. </ul>



Forcément ça marche pas :)

------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR

re

oui mais comment il as fait le mec qui à crée ce forum pour mettre cette puce car lui il as mis

[ * ]

comment il a fait

Répondre à titirigole

bah il a pris un algo qui marche :)

Là ton algorithme est pas bon, comme je t'ai dit dans ma précédente version, tu n'obtiens pas le HTML qu'il faut.

Le truc c'est qu'en PHP, je sais pas si . prend en compte les sauts de ligne (je sais qu'en C# c'est pas pris) ce qui peut expliquer que $texte = preg_replace( '#<(liste)>(.*)</\\1>#Umsi', '<ul>$2</ul>', $texte ); ne fonctionne pas...

------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR

re

il faudrait envoyé un mail au créateur de ce forum pour voir comment il as fait

en sachant moi j'ai mis <puce>

merci tu connait son pseudo pour que je lui demande

merci lol

au pire je ferais comme les autres bbcodes donc :

<puce>1 er puce</puce>

mais ça vas sauté des lignes entres les puces donc je pense que ce n'est pas une bonne idée

merci


Message édité par titirigole le 06-10-2008 à 17:17:01
Répondre à titirigole
Tom's Guide > Forum > Programmation > souici de regex pour mettre des puces dans les messages posté
Aller à :

Il y a 2390 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens