Page 1 sur 1
regex me rajoute un espace en fin d'url
Posté : 18 janv. 2011, 19:15
par olivxii
bonjour,
j'ai un regex pour transformer mes url en liens cliquable, mais quand on poste une image j'aimerais que celle ci s'affiche avec le lien en dessous.
j'ai essayé comme ceci mais je pense que j'ai une erreur dans mon code, l'image s'affiche mais plus les url ..
$statut_resize = preg_replace('#http://[?a-z0-9._/=-]+#i', '<a href="$0" target="_blank">$0</a>',$statut_resize);
$statut_resize = preg_replace('#http://[?a-z0-9._/=-]+#i', '<img src="$0" width="100" height="100">',$statut_resize);
Re: detecte si url = image
Posté : 18 janv. 2011, 19:21
par popy
T'as réfléchis a ce que faisait ton code, avant de le tester ?
Re: detecte si url = image
Posté : 18 janv. 2011, 19:33
par olivxii
effectivement j'ai du faire une boulette, en faite je voudrais que l'extention soit identifié (jpeg,png,jpg,bpm etc..) et que le lien reste affiché mais que l'image aussi .
Re: detecte si url = image
Posté : 18 janv. 2011, 19:34
par devlop78
Moi je me prendrais pas la tête ... je testerais que la fin, du type #(\.jpg|\.jpeg|\.png|\.gif|)$#i
Bon après, un .php peut être une image, ainsi qu'un fichier sans extension ^^ Mais bon ...

Re: detecte si url = image
Posté : 18 janv. 2011, 19:38
par olivxii
oui c'est ce que je veut, mais comment faire en sorte que cette image s'affiche ?
Re: detecte si url = image
Posté : 18 janv. 2011, 20:32
par olivxii
bon en me penchant sur le probleme j'ai trouvé la solution ..
$statut_resize = preg_replace('#http://\S+?\.(?:jpg|png|gif)#i', '<br/><a href="$0" class="lienCommentaire" target="_blank"><img src="$0" width="150" height="100"/></a><br/>', $statut_resize);
$statut_resize = preg_replace('#(?<!<a href="|<img src=")http://\S+#i', '<a href="$0" target="_blank">$0</a>', $statut_resize);
j'aimerais bien que l'image s'ouvre ensuite dans une popup mais dans une taille plus grande ...
y a t il une fonction similaire pour les video ?
Re: detecte si url = image
Posté : 18 janv. 2011, 20:38
par moogli
il n'existe pas de balise video en html 4, celle ci existe en html 5 mais bon je te déconseille de l'utiliser (encore en dev) )
il te faudra plutot t'orienter vers un player flsah / js / ce que tu veux pour afficher une vidéo. sinon juste le nom du fichier ^^
@+
Re: detecte si url = image
Posté : 18 janv. 2011, 21:01
par olivxii
et pour pouvoir ouvrir l'image dans une popup au lieu d'une nouvelle page, j'ai essayé de mettre un script popup mais ca ne fonctionne pas..
Re: ouvrir popup en php
Posté : 19 janv. 2011, 00:09
par olivxii
en faite j'ai un petit soucis, quand c'est une url du type youtube ca fonctionne mais si je met
http://google.fr
cela apparait en
http://google.fr /
avec un espace entre fr et slash de fin
comment supprimer le slash de fin
Re: ouvrir popup en php
Posté : 19 janv. 2011, 00:13
par moogli
il faut indiquer le chemin de l'image dans le lien de popup afin que la popup l'affiche. Au pire utilise les sessions et ouvrir l'image
Par exemple une variable de $_SESSION['image'][] qui contient les noms des images et l'on passe en paramètre la clef du tableau au lien pour ouvrir la pop up (par exemple window.open('pagequiaffichelesimages?php?img=12'); et dans pagequiaffichelesimages.php on affiche $_SESSION['image'][ $_GET['img'] ]).
@+
Re: ouvrir popup en php
Posté : 19 janv. 2011, 00:19
par olivxii
ok je pense avoir pigé, merci.
par contre j'ai edité mon mess au dessus car j'ai un soucis quand je rentre une url du type
http://google.fr
il me rajoute en espace et un slash en fin d'url
ce qui donne
http://google.fr / ce qui ne mene a rien alors que si je met
http://www.youtube.com/watch?v=FVsitBUgFZA je n'est pas de slash a la fin et le lien part bien sur la page concerné.