Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/07/2008, 19h35   #1
Membre du Club
 
Inscription : septembre 2007
Messages : 402
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 402
Points : 68
Points : 68
Par défaut Problème avec mon propre script bbcode et les images

bonjour, je suis entrain de me créer un petit éditeur de text pour mon forum et c'est la premiere fois que je fais cela ...

Bref, j'ai travaillé avec la fonction strtr(); et des array pour les choses à modifier dans les texts .

Mon probleme, c'est que je n'arrives pas à remplacer les balises [img]lien.gif[/img] en <img src="lien.gif" />

Mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php

$sujets=nl2br(htmlentities($_POST['saisie']));
		$deco=array(""=>"<b>",""=>"</b>",""=>"<u>",""=>"</u>",""=>"<i>",""=>"</i>","[hr]"=>"<hr />",""=>"<s>",""=>"</s>",'[img]'=>'<img src="','[/img]'=>'" />');
		
$deb='<img src="com/forum/emoticones/';
		$fin='" />';
		$smiley=array(";)"=>$deb."clein_oeuil.gif".$fin,":ptdr:"=>$deb."ptdr.gif".$fin,':lol:'=>$deb."lol.gif".$fin,":lunette:"=>$deb."lunette.gif".$fin,":yeux:"=>$deb."gros_yeux.gif".$fin,"^^"=>$deb."^^.gif".$fin,":@:"=>$deb."@.gif".$fin,":("=>$deb."decu.gif".$fin);
		$sujet=strtr($sujet,$deco);
		$sujet=strtr($sujet,$smiley);
		
		mysql_query("INSERT INTO forum_posts VALUES('','$categ','$posteurs','$titres','$sujets','$date_heures')");
		
		echo 'Sujet bien enregistré ! <meta http-equiv="refresh" content="2;URL=forum.php?sujet='.$cate.'">';

?>
Quelqu'un peut il m'aider ? peut etre que ce n'est que deux fois rien mais je coince ...

Merci beaucoup par avance

Arf : je viens de voir dans mes array que les balises [img ], [ u ], etc... n'apparaissent pas, mais biensure ils sont présents dans mon code

Edit 1 : je vous précise qu'a l'heure actuelle, les balises sont bien trasformées par strtr(), sauf la partie [img ] qui est enregistré dans ma bdd en [img ] ... étrange

Edit 2 : J'ai entendu parler de la fonction regex, mais j'ai du mal à la comprendre, serais-ce la solution à mon probleme ?
cuisto44000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 23h25   #2
Expert Confirmé
 
Avatar de Eusebe
 
Inscription : mars 2006
Messages : 1 989
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mars 2006
Messages : 1 989
Points : 3 606
Points : 3 606
Bonjour,

tu peux commencer par faire un tour sur la :
http://php.developpez.com/faq/?page=...es_parsebbcode
Eusebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2008, 10h08   #3
Membre du Club
 
Inscription : septembre 2007
Messages : 402
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 402
Points : 68
Points : 68
Citation:
Envoyé par Eusebe Voir le message
Bonjour,

tu peux commencer par faire un tour sur la :
http://php.developpez.com/faq/?page=...es_parsebbcode
Merci mon probleme est résolu
cuisto44000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 00h48   #4
Membre du Club
 
Inscription : septembre 2007
Messages : 402
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 402
Points : 68
Points : 68
J'ai un petit soucis, dans mon bbcode, ils est possible de citer un mesage de mon forum à l'aide des balises [quote=pseudo ]message cité ...[/quote ]

et donc pour l'affichage, je le remplace comme cela :

Code :
1
2
 
$me=preg_replace('#\[quote=(.*)\](.*)\[/quote\]#Usi','<div style="border:3px dotted #666666; margin:5px;;"><b><u>$1 à dit :</u></b><br /><br />$2<br /><br /></div>',$me);
Jusque la, no probleme, sauf que quand je veux citer un message ou il y a déja un citation, ça ne s'affiche pas comme je veux

par exemple :

[quote=gerard ]message[quote=jean ]message 2[/quote ][/quote ]

sa va m'afficher :

----------------
gerard a écrit :
message
[quote=jean ]
message 2
----------------
[/quote ]

Les tirets délimittent le div que j'ai mis à la place des balises [quote= ]

Enfaite, le premier quote prend en compte le premier quote fermant, donc pas top . comprenez vous ?

Comment puis-je remedier à cela ?

Merci, si vous n'avez pas compris, dites le moi svp !

Merci encore par avance !
cuisto44000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 00h32   #5
Membre du Club
 
Inscription : septembre 2007
Messages : 402
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 402
Points : 68
Points : 68
Bon j'ai résolu mon probleme seul en remplaçant par ça :
Code :
1
2
3
 
$me=preg_replace('#\[quote=(.*)\]#Usi','<div style="border:1px dotted #666666; margin:5px;"><b><u>$1 à dit :</u></b><br /><br />',$me);
				$me=preg_replace('#\[/quote\]#Usi','<br /><br /></div>',$me);
Et sa marche impec
cuisto44000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h25.


 
 
 
 
Partenaires

Hébergement Web