Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
746 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  php texte bbcode et html

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

php texte bbcode et html

n°1307464
rut
Posté le 16-02-2006 à 20:39:55  profilanswer
 

bonsoir a tous ,
 
voila , j'ouvre se thread pour vous demander de l'aide. J'expose en quelques mots mon probleme, j'ai un site en php que en php avec mysql entre autre , et avec des sessions , chaque internaute a la possibilité de creer une description de soi personnel  , il peut allez sur la page , ecrire et sauvegardez/envoyer ses données , qui ensuite s'affiche sur la page regarderuser.php?id=287... , mais le texte s'affiche sans retour a la ligne (= <br> )  ce qui est assez ennuyant , l'user s'il ecrit " slt , je m'appelle ralf <br> et je vien de france" affichera bien avec le retour a la ligne , mais je voudrais savoir comment faire pour que l'user ne doivent pas mettre le code <br>. cela doit venir du formulaire d'envoi et peut etre de celui qui affichera la donnee.
 
ensuite , certain internaute qui auront un certain privilege pourront mettre certain BBcode , telque noir,barre,souligner,italique... , je voulais savoir comment cela est possible que je code un tel script.
 
voici le script formulaire d'envoi de donnee sur la page : edit.php
 
<html>  <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <?php if (isset($_GET['id_destinataire'])){ $valeur = $_GET['id_destinataire']; }else { $valeur = ''; }echo '<input type="hidden" name="id_destinataire" value='.$valeur.' />';?>
      <input type="hidden" name="action" value="inserer" />
         <p><textarea cols=60 rows=11 input type="text" name="message" /></textarea> </p>
          <p><input type="submit" name="Submit" value="Envoyer" /></p>
             </form>   </html>
 
enfait ceci est celui du message , mais qui revien a quelque chose pret de la fiche descriptive de l'internaute
 
merci de pouvoir m'aidez sur ca  :)

mood
Publicité
Posté le 16-02-2006 à 20:39:55  profilanswer
 

n°1307577
gatsu35
Blablaté par Harko
Posté le 17-02-2006 à 01:52:26  profilanswer
 

nl2br

n°1308017
rut
Posté le 17-02-2006 à 14:33:31  profilanswer
 

désolé je ne comprend pas le nl2br

n°1308031
dwogsi
Défaillance cérébrale...
Posté le 17-02-2006 à 14:37:12  profilanswer
 

[:bbcmoi] Lis la doc, cherche sur le forum ça a déjà été demandé.....
 
Imaginons que la chaîne saisie par l'utilisateur est dans $var.
Pour l'afficher, au lieu de faire :
echo $var;
tu fais :
echo nl2br($var);
 
C'EST POURTANT PAS COMPLIQUÉ!!!


Message édité par dwogsi le 17-02-2006 à 14:39:09
n°1308074
rut
Posté le 17-02-2006 à 14:58:53  profilanswer
 

ok , merci compris et ca fonctionne , par contre pour la deuxieme partie qui est de l'activation/authorisation de certain bbcode pour un privilegeX qui donne droit a ces bbcode? :)

n°1308078
dwogsi
Défaillance cérébrale...
Posté le 17-02-2006 à 15:00:55  profilanswer
 

je sais pas...
...essais ça peut être :
 
echo bbcode2html($var);


Message édité par dwogsi le 18-02-2006 à 01:40:55
n°1308460
rut
Posté le 18-02-2006 à 00:41:26  profilanswer
 

ca ne fonctionne pas , et puis en faisant ca , tout les internautes auront droit aux bbcode non? je pensais a faire un champ ' privilege' avec dedans oui/non , et qu'il y ai verification si l'utilisateur est 'oui' , si il est oui le bbcode fonctionne , si non les bbcode ne vont pas , est ce possible?et comment?
 
merci:)

n°1308467
benamoubea​ch
tivuplai
Posté le 18-02-2006 à 01:25:21  profilanswer
 

tu crées une classe qui gère les bbcode et qui test les expressions régulières en fonctions du level de la personne.
 
tu fais genre :
 
function defaultBBCode() { }
function adminBBCode() { }
 
et dans l'appel général genre :
 
function genererBBCode() { } tu test la valeur de privilige que t'auras passé en paramètre à l'objet pour savoir si c un user normal ou admin.

n°1308470
dwogsi
Défaillance cérébrale...
Posté le 18-02-2006 à 01:44:40  profilanswer
 

rut a écrit :

ca ne fonctionne pas , et puis en faisant ca , tout les internautes auront droit aux bbcode non? je pensais a faire un champ ' privilege' avec dedans oui/non , et qu'il y ai verification si l'utilisateur est 'oui' , si il est oui le bbcode fonctionne , si non les bbcode ne vont pas , est ce possible?et comment?
 
merci:)


Désolé je suis pas sympa... Ca ne risquait pas de marcher parce que ce n'est pas une fonction qui existe sauf si bien sur tu la créée toi même ou avec je ne sais quelle extension, objet, class et tout le tralalala... Bref si tu veux intégrer l'interprétation du bbcode dans tes pages, c'est regex & co. Ensuite pour la méthode, ba... classe, fonction, etc... Je te laisse te reporter à la méthode ci-dessus.

n°1308527
erel69
Posté le 18-02-2006 à 11:08:28  profilanswer
 

dwogsi a écrit :

ce n'est pas une fonction qui existe


 
Remarque, ca viendra peut-être un jour :p

Message cité 1 fois
Message édité par erel69 le 18-02-2006 à 11:59:45

---------------
France Hardware | Degroup Test | Degroup News
mood
Publicité
Posté le 18-02-2006 à 11:08:28  profilanswer
 

n°1310887
rut
Posté le 21-02-2006 à 17:42:01  profilanswer
 

voila , je me demandais apres mur reflection si c'etait pas possible  de faire quelque chose ainsi , a la lecture de la donner
 
$info= tout ce que l'user a mis dans sa description
<?php
   
$line = $_GET['id'];
 
if( $line['privilege']== "oui" || $line['privilege']== "oui" )
 {  
echo untruk $info
}
else
{
echo $info
}
 ?>
 
ainsi c'est bien ce que je veux, un user qui va voir la description d'un autre, si l'user qui a la description est membre special , les autres et lui pourront lire les bbcodes sur la description d'un membre et que d'un membre, si il n'est pas , les bbcodes ne fonctionnerons pas , est ce que je dis juste?  
 
alors il y a le "untruk" , je veux dire par la quelque chose comme "nl2br" qui met les<br/> , mais que ici jouerai un role sur l'activation des bbcodes , est ce que c'est toujour possible?  
 
je ne vois pas bien comment faire avec ceci dit plus haut
 
"function defaultBBCode() { }  
function adminBBCode() { }  
 
et dans l'appel général genre :  
 
function genererBBCode() { }
"
 
merci a tous pour vos conseils/reponses
 
:)

Message cité 1 fois
Message édité par rut le 21-02-2006 à 17:44:39
n°1310951
naceroth
Posté le 21-02-2006 à 19:41:15  profilanswer
 

erel69 a écrit :

Remarque, ca viendra peut-être un jour :p


 
Ca existe déjà dans PEAR il me semble, même si je l'ai jamais essayer.

n°1310964
benamoubea​ch
tivuplai
Posté le 21-02-2006 à 20:15:41  profilanswer
 

rut a écrit :


if( $line['privilege']== "oui" || $line['privilege']== "oui" )


 
ya que moi qui voit 2 fois la meme chose ?  :heink:


Message édité par benamoubeach le 21-02-2006 à 20:15:56
n°1310986
rut
Posté le 21-02-2006 à 20:47:00  profilanswer
 

non sorry  
 
<?php  
   
$line = $_GET['id'];  
 
if( $line['privilege']== "oui" )  
 {  
echo untruk $info  
}  
else  
{  
echo $info  
}  
 ?>  
 
vous avez des idees en partant de ce principe?

n°1311076
rut
Posté le 21-02-2006 à 23:28:42  profilanswer
 

voila j'ai travailler sur cette idee 3heure non stop , j'obtien quelque chose du style:
 
j'ai sur la page qui voit la description ceci:
<?php  
$line = $_GET['id'];  
if( $line['privilege']== "admin" )  
 {    
adminBBcode()
}  
elseif($line['privilege']=="default" )
{  
defaultBBcode()
}
 
 
$line = $_GET['id'];  
$req = "SELECT description FROM utilisateur WHERE id_user=$line";
$ret = mysql_query ($req) or die (mysql_error ());
while ( $col = mysql_fetch_row ($ret) )
  {
 
function defaultBBCode() {
$col[0] = preg_replace('#\[ b](.+?)\[ /b]#si','[ b]$1[ /b]',$col[0]);
 $col[0] = preg_replace('#\[ i](.+?)\[ /i]#si','[ i]$1[  /i]',$col[0]);  
     
}
function adminBBCode() {  
$col[0] = preg_replace('#\[ b](.+?)\[ /b]#si','< strong>$1</ strong>',$col[0]);
 $col[0] = preg_replace('#\[ i](.+?)\[ /i]#si','< em>$1</ em>',$col[0]);  
     
}
 
echo nl2br ".$col[0].";
}
?>
 
j'espere que ca pourrait donné quelque chose, vous en penser quoi?
quand c'est default j'ai mis que [b] devient [b] etc
quand c'est admin j'ai mis que [b] (que l'user met en desciption) devient <b> ainsi son texte devien en gras contrairement a l'autre qui affifera [b] donc les BBcode ne fonctionnerons pas
 
merci de votre soutient:)


Message édité par rut le 21-02-2006 à 23:30:48
n°1311078
naceroth
Posté le 21-02-2006 à 23:30:35  profilanswer
 

Plus qu'à définir untruk :D
 
Remarque, deux secondes de recherche sur google et tu as au moins un début de script pour les balises les plus courantes //edit, oh ben tiens, y en avait même un dans les commentaires de la doc, d'exemple
 
En passant, supposons un gars qui n'a pas les privilèges requis, tu vas lui afficher quoi ? [ b]blablabla[ /b] ou juste blablabla ? Parce que le premier cas, c'est pas le top en terme de lisibilité :)


Message édité par naceroth le 21-02-2006 à 23:34:19
n°1311080
rut
Posté le 21-02-2006 à 23:33:49  profilanswer
 

je desirerai afficher le meme texte qu'il a mis , mais sans les bbcode, donc si il a mis blablabla mais entre [b] afin que se soit en gras, que ca affiche le blablabla mais donc plus en gras, mais j'ai poster un message en meme temp que toi , je pense que le petit script que j'ai fait peux donner quelque chose de meilleur

n°1311082
naceroth
Posté le 21-02-2006 à 23:39:03  profilanswer
 

Oui, enfin, ta fonction defaultBBCode, elle sert strictement à rien, à part ralentir le script, le masque et la chaine de remplacement étant identique :)

n°1311091
rut
Posté le 21-02-2006 à 23:50:56  profilanswer
 

c'etait le but de faire la chaine de remplacement identique mais c'est vrai je n'ai pas pensez que ca devenait inutile , donc je peux laisser entre les accolade pour la fonction defaultBBcode un vide autrement dit rien ?
 
est ce que mon code fonctionnerai? car je n'ai pas la possibilité de le tester ce soir?
 
je me demandai , lorsque je mets ceci sur ma page de description : < b> coucou </ b> je vois le coucou en gras , mais biensur ca je ne le veux pas car les non admin mettrai sous cette forme et aurai leur texte en gras par exemple, alors je me pose la question , soit il existe quelque chose pour empecher ce format , mais je ne pense pas , ou alors faire quelque chose ainsi:
$col[0] = preg_replace('#\ < b>(.+?)\< /b>#si','[ b]$1[/b]',$col[0]);  
 
donc sometoute juste le contraire , que je plasserai dans function adminBBcode et function defaultBBcode
 
qu'en penses tu ou qu'en pensez vous?
 
:)

n°1311342
dwogsi
Défaillance cérébrale...
Posté le 22-02-2006 à 11:59:32  profilanswer
 

naceroth a écrit :

Ca existe déjà dans PEAR il me semble, même si je l'ai jamais essayer.


Dites moi que c'est pas vrai!!!!
Et dire que je me suis fait chier à coder une fonction pour interprêter de le BBCode...
Bon ba je vais aller chercher une corde et... enfin vous savez.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1311371
ritzle
Posté le 22-02-2006 à 12:16:57  profilanswer
 

http://perso.wanadoo.fr/xavier.mannino/matelotage/fot/pendu.gif

n°1311387
dwogsi
Défaillance cérébrale...
Posté le 22-02-2006 à 12:32:18  profilanswer
 

La 4 sans hésitation.
De mémoir (ou d'autre chose d'ailleur), est ce que quelqu'un sais le nom de cette fonction?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1311616
naceroth
Posté le 22-02-2006 à 16:20:32  profilanswer
 

dwogsi a écrit :

Dites moi que c'est pas vrai!!!!
Et dire que je me suis fait chier à coder une fonction pour interprêter de le BBCode...
Bon ba je vais aller chercher une corde et... enfin vous savez.


 
De mémoire, y en a même 2, la version de PEAR (HTML_BBCodeParser je crois) et un UBBCode chez phpclasses.org.
 
Mais comme toi, je me suis fait chier à intégrer une fonction perso pour ça  :pfff:  

n°1311629
omega2
Posté le 22-02-2006 à 16:32:27  profilanswer
 

rut a écrit :

je me demandai , lorsque je mets ceci sur ma page de description : < b> coucou </ b> je vois le coucou en gras , mais biensur ca je ne le veux pas car les non admin mettrai sous cette forme et aurai leur texte en gras par exemple, alors je me pose la question , soit il existe quelque chose pour empecher ce format , mais je ne pense pas

[:sh@rdar]  
htmlentities : http://fr2.php.net/manual/fr/function.htmlentities.php
strip_tags : http://fr2.php.net/manual/fr/function.strip-tags.php

n°1311681
rut
Posté le 22-02-2006 à 17:19:33  profilanswer
 

voila j'ai ceci maintenant:
 
<?php
$line = $_GET['id'];
if( $line['vip']== "oui" )
 {
 adminBBcode() ;
}
else if($line['vip']=="non" )
{
 defaultBBcode() ;
}
 
 
$line = $_GET['id'];
$req = "SELECT description FROM utilisateurs WHERE id_user=$line";
$ret = mysql_query ($req) or die (mysql_error ());
while ( $col = mysql_fetch_row ($ret) )
  {
 
function defaultBBCode() {
$col[0] = preg_replace('#\(.+?)\#si','$1',$col[0]);
 $col[0] = preg_replace('#\(.+?)\#si','$1',$col[0]);
 
   }
function adminBBCode() {
$col[0] = preg_replace('#\(.+?)\#si','<b>$1</b>',$col[0]);
 $col[0] = preg_replace('#\(.+?)\#si','<em>$1</em>',$col[0]);
 
   }
 
echo  nl2br (htmlentities($col[0] ));
}
?>
 
 
je teste , et le [b] n'est pas remplacer par<b> lorsque le membres est oui , et aussi avec le htmlentities si on encode <b>< /b> ca ne devient pas en gras comme souhaiter, que dois je faire pour que mon script fonctionne?:)

n°1311693
omega2
Posté le 22-02-2006 à 17:24:34  profilanswer
 

La lecture d'un bon tutoriel ne serait visiblement pas du superflux. ;)
 
 
Pour que ton script fonctionne, il faut indiquer à ta fonction la valeur à utiliser. Là, tu ne lui indique rien.
De plus, en php, les variables sont interne à une fonction et ne sont pas partagé avec l'extérieur. les $col de tes fonctions n'ont donc rien à voir avec le $col qui est à l'extérieur des fonctions.  
 
Pour plus de détail voir doc : http://fr2.php.net/manual/fr/language.functions.php
 
A noter qu'une fonction qu'elle se trouve au début du fichier, à la fin ou au milieu du code et même dans un fichier à l'autre bout du disque dur se comportera exactement de la même maniére. Pour faciliter la lecture du code, il est conseillé de toutes les mettre au début ou à la fin des fichiers et de mettre dans un autre fichier celles qui seront utilisé par plusieurs fichiers.
 
EDIT fausse manip au milieu de la saisie du texte.


Message édité par omega2 le 22-02-2006 à 17:32:23
n°1311756
benamoubea​ch
tivuplai
Posté le 22-02-2006 à 19:08:56  profilanswer
 

en fait, t'es pas obligé d'appeler le defaultBBCode() . Quand je t'ai parlé de ca, je pensais que les utilisateurs normaux avaient le droit a quelques balises comme B ou I .

n°1311757
rut
Posté le 22-02-2006 à 19:15:34  profilanswer
 

oui je m'aperçois aussi , parr contre je ne vois pas ce que je dois faire ( en rapport avec omega2)

n°1311770
benamoubea​ch
tivuplai
Posté le 22-02-2006 à 19:26:11  profilanswer
 

déclare tes fonctions au début de ton fichier et appelle les genre adminBBCode($col)

n°1313050
rut
Posté le 24-02-2006 à 14:55:31  profilanswer
 

mon probleme vien de la condition a mon avis , ceci est bien juste?:
 
<?php
$line = $_GET['id'];
if($line['vip']=="oui" )  
{     ?>
  <b>test-oui</b>
       <?php
}
     ?>
 
 
et  
 
<?php
$line = $_GET['id'];
if($line['vip']=="non" )
 {     ?>
    <b>test-non</b>
        <?php
 }
        ?>
 
quand je test , que se soit des utilisateurs qui  sont oui ou non , ca n'affiche dans aucun cas soit test-oui ou test-non
 
pourquoi?

n°1313055
omega2
Posté le 24-02-2006 à 14:59:24  profilanswer
 

fait un "print_r" de $_GET et un "print_r" de $line.
Ca métonerait fort que la case $_GET['id']['vip'] existe.

n°1313085
rut
Posté le 24-02-2006 à 15:28:26  profilanswer
 

donc la page est regarder.php?id=1
 
print_r($_GET) : Array ( [id] => 1 )  
 
print_r($line) : 1

n°1313554
rut
Posté le 25-02-2006 à 17:45:12  profilanswer
 

quelqu'un a une idée? , bon carnaval a tous aussi :D
 
 
edit : je viens de remarquer que si c'est regarder.php?id=23
 
ca me donne 2
 
?id=3837
 
ca me donne 3


Message édité par rut le 25-02-2006 à 18:13:45
n°1317518
rut
Posté le 03-03-2006 à 01:16:34  profilanswer
 

petit up

n°1317572
dwogsi
Défaillance cérébrale...
Posté le 03-03-2006 à 09:37:37  profilanswer
 

rut a écrit :

[...]
<?php
$line = $_GET['id'];
if($line['vip']=="non" )
[...]


 
$line prend la valeur de $_GET['id'], donc $line n'est pas un tableau.
Et tu test ensuite $line['vip']. Comment veux tu que ça marche?

n°1318020
rut
Posté le 03-03-2006 à 17:22:04  profilanswer
 

je dois faire ceci alors ? :
<?php
$line = $_GET['id']['vip'];
if($line['vip']=="non" )
...
?>
 
ou bien ceci :
<?php
if( isset($_GET['id']) )
{
$vip = intval ($_GET['id']);
}
if($vip['vip']=="non" )
...
?>

n°1318022
dwogsi
Défaillance cérébrale...
Posté le 03-03-2006 à 17:24:23  profilanswer
 

Je crois que je n'ais peut être pas très bien suivit le fonctionnement de ton script...

n°1318074
naceroth
Posté le 03-03-2006 à 18:30:37  profilanswer
 

dwogsi a écrit :

Je crois que je n'ais peut être pas très bien suivit le fonctionnement de ton script...


 
Je te rassure, visiblement, lui non plus :D
 
rut, on se tue à te dire que ton $_GET['id'] n'est pas un tableau, tu n'obtiendras jamais le résultat que tu recherches tant que tu essayeras de t'en servir comme quelque chose qu'il n'est pas.

n°1318089
rut
Posté le 03-03-2006 à 18:47:11  profilanswer
 

d'accord , comment dois je proceder alors?

n°1318099
naceroth
Posté le 03-03-2006 à 18:59:00  profilanswer
 

ben là, tu récupères un id d'un utilisateur, je suppose que les privilèges dont il dispose sont stockés dans la bd ? Donc, ton traitement doit plus ressembler à (d'après le bout de code que tu mets plus haut)

Code :
  1. $line = $_GET['id'];
  2. $req = "SELECT vip FROM utilisateurs WHERE id_user=$line";
  3. $ret = mysql_query ($req) or die (mysql_error ());
  4. if ( $col = mysql_fetch_array($ret) )
  5.   { // ton privilèges dans $col['vip']
  6.   }

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  php texte bbcode et html

 

Sujets relatifs
Formulaire HTML ! Urgent.inserer texte gras dans champ de texte
Format d'une zone de texte : problèmes de caractèresLancer un executable dans une fenetre HTML?
Requetes HTMLMettre le texte d'un mailto en gras
lister tous les id déclarer dans une page html en js[HTML/CSS]Problème de positionment avec IE, trou de 1px
HTML - agrandir animation wmv dans une popup[Access] Table avec texte attaché
Plus de sujets relatifs à : php texte bbcode et html


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR