Regex sur post phpbb3

Ce forum vous servira à trouver de l'aide uniquement en ce qui concerne le développement d'un de vos MODs, ou l'adaptation d'un MOD phpBB2 pour phpBB3.

Modérateur: Equipe

Regex sur post phpbb3

Messagepar iXs » 02 Mar 2008 à 19:07

voilà je cherche à recupérer le contenu d'un post et virer les citations.

mon post et sous la forme :
[quote="pseudo":3gudpzen]
texte de la citation[/quote:3gudpzen]
texte du post

je recupère, pas de soucis et j'utilise un preg_replace mais j'ai du mal à écrire le patern, j'ai découvert ce truc aujourd'hui et c'est plutot complex 8O

alors si quelqu'un a déjà fait ca... :?


Sinon le phpbb3 utilise cette meme méthode dans son code, j'ai trouvé ceci :
'#\[quote(?:="(.*?)")?:$uid\]((?!\[quote(?:=".*?")?:$uid\]).)?#ise'

en remplacant la variable $uid par (.+?) ca ne fonctionne pas dans mon preg_replace

je suis un peu pommé là...
Dernière édition par iXs le 02 Mar 2008 à 20:46, édité 1 fois.
iXs
Posteur néophyte
Posteur néophyte
 
Messages: 36
Inscription: 05 Nov 2005 à 18:42

Re: Regex sur post phpbb3

Messagepar Dakin Quelia » 02 Mar 2008 à 19:10

Bonsoir,

Un bonjour est toujours plus sympa que ce genre de message. :)

Il faut voir avec un codeur ou un supporter. :wink:

A bientôt,
Image Aucun support par mail, MP ou msn.
Développeur d'une framework phpBB (outil)
Ouvrir un compte Gratuit chez Free-H? Détail complet en cliquant ici | Créer votre forum phpBB facilement: MyFF
Mon blogue: Mon blogue | Mon jeu de rôles: Sénat Galactique | Mon hébergeur: Free-H | phpBB Forge: cliquez ici

Image
Avatar de l’utilisateur
Dakin Quelia
Supporter
Supporter
 
Messages: 20391
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: Regex sur post phpbb3

Messagepar ErnadoO » 02 Mar 2008 à 19:18

Tu veux virer juste ce bbcode ou tous les bbcodes existants dans un message?
ErnadoO
 

Re: Regex sur post phpbb3

Messagepar iXs » 02 Mar 2008 à 19:29

bonjour :D


en fait tous les bbcode, j'affiche un aperçu du dernier message en survolant le lien d'un topic. Donc pour l'instant le texte s'affiche tel qu'il est stocké dans la base de donnée.
Je souhaite supprimer les quotes et leur contenu, pour les gras, souligné... juste les balises.
iXs
Posteur néophyte
Posteur néophyte
 
Messages: 36
Inscription: 05 Nov 2005 à 18:42

Re: Regex sur post phpbb3

Messagepar iXs » 02 Mar 2008 à 20:46

j'ai trouvé ca :

'#\[quote(.+?)\](.*?)\[/quote(.+?)\]#Usi'

ca marche pas mal
iXs
Posteur néophyte
Posteur néophyte
 
Messages: 36
Inscription: 05 Nov 2005 à 18:42

Re: [Réglé] Regex sur post phpbb3

Messagepar ErnadoO » 02 Mar 2008 à 22:53

Merci de ne pas poster plusieurs messages à la suite!
La fonction EDITER permet d'y remédier.

Utilise cette fonction, qui nettoie les bbcodes les plus courant, parcontre il faut lui fournir bbcode_uid trouvable dans phpbb_posts:
Code: Tout sélectionner
function strip_post($text, $uid)
{
   $text = preg_replace("/\[color=(\#[0-9A-F]{6}|[a-z]+):$uid\]/si", "", $text);
   $text = str_replace("[/color:$uid]", "", $text);

   $text = preg_replace("/\[size=([\-\+]?\d+):$uid\]/si", "", $text);
   $text = str_replace("[/size:$uid]", "", $text);

   $text = str_replace("[b:$uid]", "", $text);
   $text = str_replace("[/b:$uid]", "", $text);

   $text = str_replace("[u:$uid]", "", $text);
   $text = str_replace("[/u:$uid]", "", $text);

   $text = str_replace("[i:$uid]", "", $text);
   $text = str_replace("[/i:$uid]", "", $text);

   $patterns = array();
   $replacements = array();

   $patterns[] = "#\[img(.*?)\]([^?](?:[^\[]+|\[(?!url))*?)\[/img(.*?)\]#i";
   $replacements[] = "";

   $patterns[] = "#\[quote(?:="(.*?)")?:$uid\]([^?](?:[^\[]+|\[(?!url))*?)\[/quote:$uid]#i";
   $replacements[] = "";

   $patterne[] = '#\[code(?:=([a-z]+))?:$uid\](.*?)\[/code:$uid\]#ise';
   $replacements[] = "";

   $text = preg_replace($patterns, $replacements, $text);

   return $text;
}
ErnadoO
 


Retourner vers Aide au développement

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Partenaires : phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB3 Styles • phpBB podpora • phpBB Portugal    Liens : Net Avenir • PromoBenef • Ticket Gagnant