mota Posté(e) le 13 octobre 2004 Signaler Posté(e) le 13 octobre 2004 Hoy les grands ! Bon et bien pour tout vous avouer je suis en train de coder un forum suite à la comercialisation totale d'ipb. Et qui dit forum dit... bbcode ! Donc jusque là j'ai réussis à faire un bbcode s'inspirant de celui de MesDiscussions ([g ][/g ], [nom][/nom]...) seullement j'ai remarqué un truc, lorsque l'on tape une adresse sans balises, elle est automatiquemment entourée par des [/url ] lors que la lecture de la requête par la suite. Donc en fait je voudrais savoir à peu près quelle regex le forum ici présent utilise pour ça (j'ai essayé avec preg_replace('!((http|ftp|https)://(.+))!si', '$1', $texte); mais ça me fait foirer tout ce qui est à base de url= ou url ou encore img), et si la plateforme l'utilisait pour parser (et après transmission via session quand éditage)à la lecture, ou si le parssage de cette regex se fait avec le postage ??
ChandlerBing82 Posté(e) le 13 octobre 2004 Signaler Posté(e) le 13 octobre 2004 euh je n'y connais rien mais le forum a été codé par Joce donc mieux vaut poser la question sur le forum de presence-pc et directement a Joce m'enfin c'est mon avis ^^
mota Posté(e) le 13 octobre 2004 Auteur Signaler Posté(e) le 13 octobre 2004 Peut-être que Benhur ou darck sait [:spamafote], je ne pense pas que joce soit préoccupé par un simple blem de regex, d'ailleurs les deux autres non plus m'enfin bon ...
darck Posté(e) le 13 octobre 2004 Signaler Posté(e) le 13 octobre 2004 Pour différencier les urls entre les et celles sans je te conseil de vérifier d'avoir obligatoire soit un espace, ou retour à la ligne ou une tabulation avant et apres ton url sans balise. preg_replace('!([ \n\t]+?)((http|ftp|https)://(.+))([ \n\t]+?)!si', '$1', $texte);
mota Posté(e) le 13 octobre 2004 Auteur Signaler Posté(e) le 13 octobre 2004 merci, j'y avais pensé à un moment mais aussi stupide que je puisse être j'ai passé outre Bon bun voulah mon script bbcode est terminé edit: par contre j'ai essayé preg_replace('!^((http|ftp|https)://(.+))$!si', '$1', $texte); au cas où il n'y ai que l'adresse mais ça foire [:spamafote]
darck Posté(e) le 13 octobre 2004 Signaler Posté(e) le 13 octobre 2004 C'est "normal" car ^ et $ désigne le début et la fin de la phrase au niveau du $texte. Ca signifie que ton preg_replace ne marcherait que si le $texte ne contenait uniquement qu'une adresse internet.
mota Posté(e) le 13 octobre 2004 Auteur Signaler Posté(e) le 13 octobre 2004 ouai mais comment puis-je faire si par exemple je fais un poste qu'avec une url ou si ça commence par une url (donc pas d'espace) et que ça termine par d'autres caractères ? edit: preg_match ?
gotika Posté(e) le 13 octobre 2004 Signaler Posté(e) le 13 octobre 2004 Ca m'a l'air bien passionant tout ça
darck Posté(e) le 14 octobre 2004 Signaler Posté(e) le 14 octobre 2004 C'est barbare, mais rajouter un espace avant et après le texte. Ensuite tu fais un "trim" à gauche et à droite pour enlever les espaces inutiles de chaques côtés.
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.