begin process at 2012 05 31 04:17:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

PHP et BBCODE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

PHP et BBCODE

lundi 30 juillet 2007 à 23:52:56 | PHP et BBCODE

TheGorgo

Bonjour à tous,

Je cherche a créer un script pour mon forum, http://conteslegendes.free.frum (un pe de pub au passage).
Le but de ce script est de pouvoir afficher ou masquer des calques. Je m'explique :

Je voudrais que lorsque l'utilisateur insere la balise [spoil][/spoil], une fonction php remplace ces balises par le code html d'un calque div qui contient des arguments javascript qui permettent de l'afficher ou de le masquer.

Le probleme est que lorsque l'utilisateur insere deux fois la balise [spoil][/spoil] et ben ca bug parce que la fonction javascript demande l'identifiant du calque qu'elle doit afficher et ces deux calques ont le meme identifiant.


Voici une parti de la fonction :

// spoiler
$num = rand();
$t = str_replace("[spoil]", "<br><br><div id=\"Spoiler".$num."\" style=\"position:static;width:550px;height:25px;z-index:1;color:#660000;font-size:10px;cursor:pointer;text-align:center;\" onclick=\"MM_showHideLayers(\'Resume".$num."\',\'\',\'show\')\"><img src=\"Smileys/18.gif\" alt=\"\" /> ATTENTION : SPOILER - Cliquez ici pour voir ou cacher le contenu <img src=\"Smileys/18.gif\" alt=\"\" /><div id=\"Resume".$num."\" style=\"position:static;width:550px;z-index:5;left: 344px;top: 359px;background-color:#ffffff; cursor:pointer; color:#000000;padding-top:5px; text-align:justify; padding-left:10px; padding-right:10px; padding-bottom:5px; font-size:13px; visibility:hidden;\" onclick=\"MM_showHideLayers(\'Resume".$num."\',\'\',\'hide\')\">", $t);
$t = str_replace("[/spoil]", "</div></div><br><br>", $t);

Voila. Donc en fait je voudrais savoir si il existe une fonction php qui compte le nombre de fois qu'apparait une occurence et qui les remplace une par une, ce qui me permettré de changer la variable $num a chaque fois.

Sinon, auriez vous une autre méthode ?
mardi 31 juillet 2007 à 10:56:51 | Re : PHP et BBCODE

Evangun

Hello,

// spoiler

$t = explode('[spoil]', $t);

foreach($t as $value){
    $num = rand();
    $t = "<br><br><div id=\"Spoiler".$num."\" style=\"position:static;width:550px;height:25px;z-index:1;color:#660000;font-size:10px;cursor:pointer;text-align:center;\" onclick=\"MM_showHideLayers(\'Resume".$num."\',\'\',\'show\')\"><img src=\"Smileys/18.gif\" alt=\"\" /> ATTENTION : SPOILER - Cliquez ici pour voir ou cacher le contenu <img src=\"Smileys/18.gif\" alt=\"\" /><div id=\"Resume".$num."\" style=\"position:static;width:550px;z-index:5;left: 344px;top: 359px;background-color:#ffffff; cursor:pointer; color:#000000;padding-top:5px; text-align:justify; padding-left:10px; padding-right:10px; padding-bottom:5px; font-size:13px; visibility:hidden;\" onclick=\"MM_showHideLayers(\'Resume".$num."\',\'\',\'hide\')\">".$t;
    $t = str_replace("[/spoil]", "</div></div><br><br>", $t);
}

avec ça tu as un tableau, tu le concatènes et c'est bon.
Par contre tu m'as l'air d'avoir des pbs avec tes " et tes '... j'ai pas corrigé mais bon. Et mets tes css dans une feuille à part.
à+
mardi 31 juillet 2007 à 13:33:04 | Re : PHP et BBCODE

TheGorgo

J'avais pas du tout pensé à utiliser Foreach.

En tout cas je vais essayer et je te remercie pour ta réponse.
Pour les " et ' apparement je n'ai pas de pb.

Et, je ne peux pas mettre mes css ds une feuille a part parce que l'identifiant de chaque calque est généré dynamiquement. Je ne connais pas l'ID du calque a l'avance.
mardi 31 juillet 2007 à 14:07:17 | Re : PHP et BBCODE

TheGorgo

J'ai essayé, ca ne fonctionne pas vraiment. Le probleme est que tous les calques sont inclus les uns dans les autres. Je ne sais pas ourquoi.

http://conteslegendes.free.fr/forum/View_Sujet.php?Sujet=64
mardi 31 juillet 2007 à 14:32:34 | Re : PHP et BBCODE

Evangun

Tu as dû oublier de fermer une div ou un truc comme ça.

Sinon, aucun rapport entre un id dynamique et une classe css, du moins dans ton cas. Ca n'empêche pas.

Et ton javascript ne marchera pas parce que tu échappes des ' alors que tu utilises de " pour php.

à+
mardi 31 juillet 2007 à 14:37:18 | Re : PHP et BBCODE

TheGorgo

ca y'est j'ai reglé le pb il manquait le str_replace('[spoil]',.....,$t);

mais c'est vrai que mon javascript ne fonctionne pas. Est ce que tu sais comment je peux arranger ca stp ?
mardi 31 juillet 2007 à 14:52:08 | Re : PHP et BBCODE

Evangun

Je ne sais pas ce que tu as fait mais dans ma solution, il n'y avait pas à remettre de str_replace('[spoil]',.....,$t)...

pour le javascript comme je te l'ai dit, tu as mis /' au lieu de ' à plusieurs endroits. Je n'ai pas regardé s'il y avait d'autres erreurs.

à+
mardi 31 juillet 2007 à 14:57:57 | Re : PHP et BBCODE

TheGorgo

mais en fait j'ai besoin d'echapper les ' aussi car sinon, il y a une erreur au moment de l'insertion dans la table mysql.
Et je ne comprend pas parce que le javascript fonctionne kan il un spoil ds un message. Mais, il ne fonctionne pas quand il yen a plusieurs.
mardi 31 juillet 2007 à 15:15:58 | Re : PHP et BBCODE

Evangun

Il faut échapper les requêtes sql avec addslashes juste avant de les passer, pas dans le javascript... fais-voir ton code maintenant si t'as encore un pb ? et sans les styles, ça me fatigue les yeux :)
mardi 31 juillet 2007 à 15:25:33 | Re : PHP et BBCODE

TheGorgo

bon en fait j'ai compris pourquoi ca march pa. c parce que j'ai rajouté str_replace ce qui fait que $num est tjr pareil

1 2

Cette discussion est classée dans : fonction, php, afficher, bbcode, spoil


Répondre à ce message

Sujets en rapport avec ce message

PHP afficher du texte en fonction du jour (debutant) [ par zeguizmo ] Salut a tous ! Bon voila, je ne connais pas du tout le php, et je n'ai matériellement pas le temps de m'y mettre maintenant. Je me débrouille un peu htpasswd [ par neolien ] Bonjour à tous, Je suis débutant en php et j'essaie de placer une sécurisation sur des répettoires avec htacess et htpasswd. Pour le htacess pas de so erreur DomXML [ par kalf2000 ] Salut, voila j'ai un gros souci, j'ai installer PHP 5.0.4 avec apache 2, j'ai installé l'extension php_domxml.dll, jusque la tout va bien. Mais dés Server php [ par crashtest ] Bonjour je voudrai commencer a aprendre le php, donc j'est intaller easyphp1-8 il marche que en lan sur internet il ve pas. Pourtant j'ai deja un otr variable php dans fonction js dans html. Syntaxe ? [ par floxone ] Salut, petite question qui me croque le cerveau....Comment faire ceci :Je suis dans un tableau HTML. Quand je clique sur l'image, j'ouvre une page gra recharger une fonction php au bout d'un certain temps [ par tortuninja444 ] Bonjour tout le monde. Je suis un newbie alors soyez pas trop mechant. Voila, mon probleme c'est que j'ai besoin de reactualiser une fonction php a fonction et variable php [ par dreaman ] Bjour,j ai une fonction php dans laquel je voudrai utilisé une variable qui ai défini ailleur que dans ma fonction dans mon code.Et cette variable n'e Utiliser une variable dans une fonction [ par dreaman ] Bjour,j ai une fonction php dans laquel je voudrai utilisé une variable qui ai défini ailleur que dans ma fonction dans mon code.Et cette variable n'e Afficher des valeurs en fonction d'un select [ par Monico9385 ] Bonjour, comme dit dans le titre, je voudrai récupérer des valeurs lorsque je selectionne quelque chose dans un select. Je m'explique je selectionne Au secours!!! Option Base 0 ou 1 en PHP ? [ par franck453 ] Bonjour,Désolé pour ma question qui peut paraitre stupide, mais je fais mes premiers pas en PHP...Existe t'il une fonction equivalente à FONCTION BASE


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales