Limite bbcode? [Réglé]
[url=][/url]
Support des Modules
CrowkaiT Membre non connecté
-
Modérateur
- Voir le profil du membre CrowkaiT
- Inscrit le : 17/06/2005
- Site internet
- Groupes :
-
Equipe Historique
Reprise du message précédent
J'ai trouvé une directive (pcre.recursion_limit) qui limite la récursivité dans la regex que l'on utilise, c'est pour ça que sur notre serveur certain tableaux marchent et en local non. Je crois qu'on va devoir le faire nous même, mais ça risque d'être complexe on va essayer de régler ça à deux.Pas de support par messages privés! Pensez à mettre vos messages en réglé en cliquant sur le bouton réglé!
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Tu sais comment choper le niveau de récursivité maximal ?
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
CrowkaiT Membre non connecté
-
Modérateur
- Voir le profil du membre CrowkaiT
- Inscrit le : 17/06/2005
- Site internet
- Groupes :
-
Equipe Historique
Pas de support par messages privés! Pensez à mettre vos messages en réglé en cliquant sur le bouton réglé!
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006
Je vois que vous êtes plus que fort à vous deux ensemble. Comme j'ai déjà dit dans un autre topic, je comprend quasiment rien dans les regex et j'essaie de comprendre la source du problème. Globalement, cet option de php limite l'utilisation des fonctions que vous utilisez?
Forensic
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
CrowkaiT Membre non connecté
-
Modérateur
- Voir le profil du membre CrowkaiT
- Inscrit le : 17/06/2005
- Site internet
- Groupes :
-
Equipe Historique
[code]<?php preg_split('`[table( style="[^"]+")?]((?:[^[]|[(?!/?table(?: style="[^"]+")?])|(?R))+)[/table]`', $contents, -1, PREG_SPLIT_DELIM_CAPTURE) ?>[/code]
Ici on utilise la fonction preg_split qui permet de découper une chaine avec une expression régulière. Comme tu le vois la regex est loin d'être évidente, cette regex recherche le masque récursivement, le problème c'est que le nombre d'appel récursif est limité dans les options du moteur de regex (pcre). La solution serait de faire le même travail mais de façon non récursive. J'ai déjà quelques idées pour contourner le problème.
Pas de support par messages privés! Pensez à mettre vos messages en réglé en cliquant sur le bouton réglé!
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
CrowkaiT Membre non connecté
-
Modérateur
- Voir le profil du membre CrowkaiT
- Inscrit le : 17/06/2005
- Site internet
- Groupes :
-
Equipe Historique
Désolé d'entrer dans des détails techniques mais c'est peut-être ce que tu voulais?
Pas de support par messages privés! Pensez à mettre vos messages en réglé en cliquant sur le bouton réglé!
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006
edit: Je ne poste pas un autre message afin d'éviter un flood inutile. Toutefois, j'aimerais savoir si c'était possible de faire un suivi sur ce problème le jour où vous aurez réglé le problème même si ce n'est pas encore disponible à notre niveau.
edit 27/12: N'y aurait-il pas une solution temporaire pour pallier à ce problème? Jusqu'à maintenant, j'avais réussi à contourner le problème, mais actuellement, j'ai beaucoup de liens dans une balise [table] et évidemment, j'obtiens des erreurs 500. Certes, je peux changer ma mise en page afin de contourner le problème encore une fois, mais elle ne sera pas aussi bien qu'actuellement. Je sais que vous êtes plus qu'occupé dans le développement, mais ça serait apprécié.
Forensic
Édité par Forensic Le 27/12/2007 à 18h32
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
J'ai actuellement développé un petit code qui permet de passer outre cette limitation, et comme le parseur BBCode est en train d'être réécrit par ben.popeye, il y a de fortes chances pour que le problème soit résolu avec la version 2.1
J'ai réalisé des tests sur des listes ordonnées ou non, triplement imbriquées ainsi que sur une liste de 55 liens.
Pour information avec la version actuelle la limite avant une erreur 500 est de 18 liens dans une liste.
Des tests ont également été fait sur des tableaux imbriqués et passés avec succès.
Il ne vous reste donc plus qu'à attendre la sortie de la version 2.1 et il n'y aura plus de problème!
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie