Expression régulière pour raccourcir une url !
5 messages
• Page 1 sur 1
-

Tdv - WRInaute discret

- Messages: 128
- Inscription: 10 Mai 2006
Expression régulière pour raccourcir une url !
Bonjour à tous...
J'utilise une expression régulière dans mon code PHP pour repérer les url automatiquement et les transformer en liens... (fait maison, donc pas forcément optimisé), mais je voudrais maintenant que les liens trop longs, dépassant tant de caractères soient raccourcis à l'affichage en séparant le début et la fin par "..." ! Or par exemple la fonction substr() ne marche pas sur le \3 ...
Voici l'expression actuelle :
$text = preg_replace("#([\n ])?([hftp]+)://([a-z0-9-=_%\#$~%&;?./]+)#i", '\1<a href="\2://\3" target="_blank">\2://\3</a>', $text);
Si quelqu'un a une idée, je suis preneur, merci d'avance
J'utilise une expression régulière dans mon code PHP pour repérer les url automatiquement et les transformer en liens... (fait maison, donc pas forcément optimisé), mais je voudrais maintenant que les liens trop longs, dépassant tant de caractères soient raccourcis à l'affichage en séparant le début et la fin par "..." ! Or par exemple la fonction substr() ne marche pas sur le \3 ...
Voici l'expression actuelle :
$text = preg_replace("#([\n ])?([hftp]+)://([a-z0-9-=_%\#$~%&;?./]+)#i", '\1<a href="\2://\3" target="_blank">\2://\3</a>', $text);
Si quelqu'un a une idée, je suis preneur, merci d'avance
- billyboylindien
- WRInaute impliqué

- Messages: 578
- Inscription: 28 Fév 2005
Au pire recupere/etudie la fonction sur un forum comme punbb ou phpbb.
++
++
-

david96 - WRInaute passionné

- Messages: 1430
- Inscription: 28 Aoû 2005
Re: Expression régulière pour raccourcir une url !
Tdv a écrit:Bonjour à tous...
J'utilise une expression régulière dans mon code PHP pour repérer les url automatiquement et les transformer en liens... (fait maison, donc pas forcément optimisé), mais je voudrais maintenant que les liens trop longs, dépassant tant de caractères soient raccourcis à l'affichage en séparant le début et la fin par "..." ! Or par exemple la fonction substr() ne marche pas sur le \3 ...
Voici l'expression actuelle :
$text = preg_replace("#([\n ])?([hftp]+)://([a-z0-9-=_%\#$~%&;?./]+)#i", '\1<a href="\2://\3" target="_blank">\2://\3</a>', $text);
Si quelqu'un a une idée, je suis preneur, merci d'avance
- Code: Tout sélectionner
function limitText($text,$limit="30")
{
if(strlen($text)>=$limit)
{
$text=substr($texte,0,$limit);
$repere=strrpos($text,"-");
$text=substr($text,0,$repere)."...";
}
return $text;
}
ça devrait le faire je pense
a voir quelle signe prendre pour strrpos par contre, pour marquer la position à partir de laquelle l'url va être tronquée
-

Tdv - WRInaute discret

- Messages: 128
- Inscription: 10 Mai 2006
Pas si simple ;)
Merci pour vos réponses... en effet je pourrais simplement remplacer par "lien" .. mais bon, dommage pour les liens courts qui pourraient apparaitre tels quels...
Et je crains que ce soit un peu plus compliqué que cela... mon $text peut contenir tout un article et plusieurs liens dedans ! Donc mon expression régulière repère les liens et les traite ensuite... Mais les mots peuvent être de toutes tailles et il n'y a bien que les liens qui doivent être raccourcis... Au pire je traite l'article mot à mot et je raccourcis les mots trop longs, liens ou non... mais bon, ça me parait du temps processeur pour pas grand chose... :/
Et je crains que ce soit un peu plus compliqué que cela... mon $text peut contenir tout un article et plusieurs liens dedans ! Donc mon expression régulière repère les liens et les traite ensuite... Mais les mots peuvent être de toutes tailles et il n'y a bien que les liens qui doivent être raccourcis... Au pire je traite l'article mot à mot et je raccourcis les mots trop longs, liens ou non... mais bon, ça me parait du temps processeur pour pas grand chose... :/
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- re expression régulière...
- Expression régulière
- expression réguliere!please help!!!
- Expression régulière simple
- soucis expression reguliere
- expression régulière en javascript
- problème expression régulière
- RedirectMatch et expression régulière
- Expression Régulière Malformée ?
- Expression régulière et redirect
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

