Problème de code UBB avec [img][/img]

Max2000

Grand Maître
Salut,

J'ai un problème :D

Bon j'explique, sur mon site, dans les news ya un script qui parse le code UBB, mais ya un problème avec les images qui contienent des caracteres bizarre (Par exemple : "_", "-", "^" ...)

Pour voir ce que ça fait, voir la news des fotos du NV40 à cette adresse :

Le code qui parse les balises IMG est le suivant :

[cpp]$texte = preg_replace("#\[img\]http://www.([a-z0-9./\-]+)\[/img\]#si","<img src=\"<#@HTTP@#>://<#@URL2@#>.\\1\" border=\"0\" alt=\"<#@HTTP@#>://<#@URL2@#>.\\1\" title=\"<#@HTTP@#>://<#@URL2@#>.\\1\" />", $texte);
$texte = preg_replace("#\[img\]http://([a-z0-9./\-]+)\[/img\]#si","<img src=\"<#@HTTP@#>://\\1\" border=\"0\" alt=\"<#@HTTP@#>://\\1\" title=\"<#@HTTP@#>://\\1\" />", $texte);[/cpp]

Merci d'avance de votre aide :)
 

ffomnislash

Grand Maître
je sais pas parser ( d'ailleurs faudrait que j'aprenne^^)

mais a la premiere ligne tu a
([a-z0-9./\-]+)
si je comprend bien sa c'est le lien donc si tu rajoute "_"... peut etre que sa marcherait mieux non?
 

ffomnislash

Grand Maître
[citation=5754,0,3][nom]Max2000 a écrit[/nom]Tu sais que je t'aime toi :love: :love: :love:
[/citation]

:ouch:
 

ffomnislash

Grand Maître
j'aurais une question a te poser, je pense avoir compris ton code :) mais c'est quoi:
<#@HTTP@#>
<#@URL2@#>

??
 

Max2000

Grand Maître
c'est pour remplacer les choses par autre chose mais faut pas que l'utilisateur l'ai pas écrit donc faut le remplacer avec un truc compliquer, car si le gars l'a écrit lui ça vas le remplacer et ça vas faire un gros caca ;)
 

Max2000

Grand Maître
En fait chuis même pas sûr :D

J'ai repompé ce code ...

Donc attend que Mossieur Propre passe par là :)
 

Mossieur Propre

Expert
c'est le bordel, ce code

faut éditer la parenthèse capturante ([a-z0-9./\-]+) et rajouter dedans (entre les crochets) les caractères acceptés dans le parsing
 

Mossieur Propre

Expert
les trucs entre <#@ @#> sont des choses à ne pas parser (style pour pas que le :/ des http:// soit parsé, on remplace le :// par une de ses valeurs, on parse les smileys, puis on reremplace le <#@ @#> par ://)
 

Mossieur Propre

Expert
ben tu rajoutes % dans la parenthèse capturante ....

Ne me dit pas ensuite que ça merde avec # : il te suffira de rajoutetr # dans la parenthèse capturante .... :sleep:
 

forummp3

Expert
au lieu de mettre les lettres autorisé, ca serais plus simple de mettre les caracteres non autorisé comme le retour a la ligne, l'espace, et puis bon, dans l'url de l'image c pas trop dangeureux de mettre des caracteres speciaux.
 

Max2000

Grand Maître
C'est très parlant mais pour moi c'est un peu compliquer :D

C'est pas torp grave je reste comme ça :p
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 846
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut