S'abonner :  Newsletters    Magazines
Avis sur les produits Avis sur les logiciels Avis sur les jeux Actualités A propos de 01net
171 utilisateurs connectés

Problème pour me créer un bbCode

Généraleduweb le 05 juillet 2008 à 11h42
Bonjour,
pour mon site, j'ai créé un système de rédaction d'article avec du bbCode "maison".
Je suis maintenant occupé à réaliser le système d'affichage des articles.
Il ne pose pas de problèmes, sauf au moment où je dois transformer mon texte avec les balises bbCode en texte xhtml...
Je me retrouve donc avec ma page 'article.php' pour afficher les articles et la page 'bbCode.php' qui contient les modifications à faire (expression régulières).
Et je ne sais pas cmt faire les modifications..
Avec un inclusion de 'bbCode.php' puis function?
Une requête avec $_GET?

Merci de votre aide
Pc_expert_3 le 05 juillet 2008 à 15h43
preg_replace('#\[b\](.*)\[\/b\]#', '<b>\\1</b>', $var) (pour le gras)
Ou bien plus simple
$ar = array('[ b]',...)
str_replace($ar, $ar[$i], $var)
Et tu te débrouilles avec le $i

Le premier marche tel quel normalement (pas testé, mais tellement simple); le second est en théorie plus rapide (simple remplacement de chaîne)
-->Message édité par Pc_expert_3 le 05/07/2008 15:43:50<--
-------
Fils d'Albanel, va !
Généraleduweb le 05 juillet 2008 à 15h49
ça je sais
ma page 'bbCode.php' contient uniquement des requêtes regex,
mais je ne sais cmt leur faire appel dans la page 'article.php';)
Pc_expert_3 le 05 juillet 2008 à 15h49
include 'bbCode.php'; en haut de page
-------
Fils d'Albanel, va !
Généraleduweb le 05 juillet 2008 à 15h52
oki
mais après j'ai besoin de faire la transformation pls fois dans la page
alors je ne sais pas cmt faire function avec des noms de variables différents;)
Pc_expert_3 le 05 juillet 2008 à 16h03
ben
function parsebbcode($variable)
{
$variable = preg_replace(...,...,$variable);
return $variable
}

Après tu fais pasebbcode($nomdelavariabledanslapage);
-------
Fils d'Albanel, va !
Généraleduweb le 05 juillet 2008 à 17h17
merci
je vais essayer;)
Généraleduweb le 05 juillet 2008 à 17h26
et après je dois faire
echo$variable ?
Généraleduweb le 05 juillet 2008 à 17h33
merci ça fonctionne
il faut bien faire echo$variable;)
Généraleduweb le 05 juillet 2008 à 19h43
ah, j'ai un problème
comme je fais un htmlspecialchars,
les signes '<' et '>' n'affichent '&lt;' et '&gt;' :/
cmt faire pour qu'ils s'affichent normalement?
-->Message édité par Généraleduweb le 05/07/2008 19:43:18<--
Pc_expert_3 le 05 juillet 2008 à 21h56
htmlspecialchar est une vieille fonction ; préférer htmlentities.
Ben tu appliques cette fonction AVANT de parser le bbcode.
-------
Fils d'Albanel, va !
Généraleduweb le 05 juillet 2008 à 23h25
je vais essayer demain ;)
bah j'ai appris à coder avec le siteduzero, alors si il n'est pas à jour :/
Beno@ le 06 juillet 2008 à 09h50
le site du zero manque cruellement de rigeur
Généraleduweb le 06 juillet 2008 à 10h53
je veux bien le croire (et je m'en rends compte :/ )
je voulais savoir, quelle est la différence entre htmlentities et htmlspecialchars ? svp?
par exemple vous, vous avez appris à coder comment?
Pc_expert_3 le 06 juillet 2008 à 11h32
htmlentities() est identique à la fonction htmlspecialchars(), sauf que tous les caractères qui ont des équivalents en entités HTML sont effectivement traduits.
-------
Fils d'Albanel, va !
Généraleduweb le 06 juillet 2008 à 11h54
merci !
Généraleduweb le 06 juillet 2008 à 11h57
en haut de ma page 'article.php', je voudrais faire un truc de genre
Article > Catégorie > L'article
en mettant un lien sur Artticle et Catégorie renvoyant vers les pages correspondantes.
Mon css est
a
{
text-decoration: none;
font-weight: bold;
color: white;
}

a:hover
{
text-decoration: underline;
font-weight: bold;
color: white;
}

a:active, a:focus
{
background-color: blue;
color: white;
}

a:visited
{
font-style: italic;
color: white;
}

a .normal, a:visited .normal, a:active .normal, a:focus .normal, a:hover .normal
{
text-transform: none;
font-variant: normal;
font-weight: normal;
}

et pour 'article.php', mes liens sont comme ça : <a href="...php" class="normal">...</a> mais ils sont tout de même en gras :/
je ne trouve pas le problème :(

Merci de m'aider
Pc_expert_3 le 06 juillet 2008 à 16h06
Tu dois aussi définir une classe pour a:visited, a:active, a:focus etc.
Sinon, ça s'applique à TOUS les liens.
-------
Fils d'Albanel, va !
Généraleduweb le 06 juillet 2008 à 16h31
c ce que j'ai fait à la dernière propriété css;)
Pc_expert_3 le 06 juillet 2008 à 16h53
a
{
text-decoration: none;
font-weight: bold;
color: white;
}

a:hover
{
text-decoration: underline;
font-weight: bold;
color: white;
}

a:active, a:focus
{
background-color: blue;
color: white;
}

a:visited
{
font-style: italic;
color: white;
}
Ça s'applique à tout. Il s'en fout des classes ensuite. Tu dois définir des classes pour ça aussi.
-------
Fils d'Albanel, va !
Généraleduweb le 06 juillet 2008 à 17h04
oki
bah la flemme ^^
alors jle fais pas ;)
et si je fais
p .normal a
{
css
}

-->Message édité par Généraleduweb le 06/07/2008 17:05:02<--
Beno@ le 07 juillet 2008 à 12h54
a .normal veut dire les elements ayant la classe "normal" à l'interieur d'un element a ;)

met juste .normal
Généraleduweb le 07 juillet 2008 à 13h21
merci ça fonctionne ;)

mais maintenant, j'ai tjs un autre problème (et oui :/ ), c'est pour l'ajout de balise bbCode dans un formulaire (ici un textarea):
Toutes les solutions que j'ai trouvé sur internet pour ajouter des balises sont sous la forme d'un code liant html et js assez long,
je voulais savoir si il avait moyen de faire une function (php de préfénrence), dans le style
function balises_bbcode($nom du textarea)

et qu'il suffiarit de faire
include(ma_ page_avec_textarea.php)
avant pour avoir le champs simplement avec les balises bbCode insérables...

Merci d'avance
-->Message édité par Généraleduweb le 07/07/2008 13:26:48<--
Beno@ le 07 juillet 2008 à 14h44
non, c'est impossible puisque le php s'exécute coté serveur et que le fait de toucher à l'interface (comme un textarea) se fait du coté client
Généraleduweb le 07 juillet 2008 à 17h08
alors il ya-il une solution simple pour mettre un textarea dans un formulaire?
avec un fichier *.js alors?
Pc_expert_3 le 08 juillet 2008 à 02h28
Un textarea dans un formulaire ?
Le textarea est toujours dans le formulaire...
-->Message édité par Pc_expert_3 le 08/07/2008 02:28:54<--
-------
Fils d'Albanel, va !
Généraleduweb le 08 juillet 2008 à 11h45
je me suis mal exprimé
je veux dire
il y a-il une solution simple pour mettre un textarea avec les boutons/liens pour ajouter des balises bbCode dans un formulaire?
avec un fichier *.js?

mais je ne sais pas si un fichier *.js est convenable :/
Beno@ le 08 juillet 2008 à 11h46
si justement, ce sera du javascript
Généraleduweb le 08 juillet 2008 à 14h57
d'accord
mais je ne m'y connais pas du tout en javascript
si qqn pouvait m'éclairer...svp !


PRODUITS

TÉLÉCHARGER - LOGICIELS

JEUX VIDÉOS

LOISIRS

01NET PRO

AVIS ET COMMENTAIRES

A PROPOS DE 01NET

publicité
> Call of Duty Modern Warfare 2
Spectaculaire, intense et terriblement prenant !

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Internext - 01net.