Distinguer un lien http:// dans une variable

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


linkadress
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 156
Inscription: Jeu Mar 30, 2006 18:47

Distinguer un lien http:// dans une variable

Message le Jeu Juin 08, 2006 15:33

Bonjour, j'essaie de trouver comment distinguer un lien http://www.... dans une variable qui contient un message global...
Ex : j'ai un texte de 10 lignes, et je scanne le tout que je place dans un buffer[i] et i est une ligne.
Je fais une boucle sur le nombre de ligne, pour trouver une séquence http://...
j'ai pensé à quelque chose comme ça je sais c'est pas abouti :

Code: Tout sélectionner
$buffer[$i]=str_replace("http://","<a href='http://'>http://",$buffer[$i]);

Je vois pas comment distinguer, car je n'ai pas de balise url avant comme en bbcode
Code: Tout sélectionner
[url]http://....[/url]
, donc pas facile de trouver la séquence.

Merci.

cedsib
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 185
Inscription: Jeu Oct 07, 2004 9:56

Message le Jeu Juin 08, 2006 15:36

à mon avis, jette un coup d'oeil sur les expressions régulières. c'est un peu imbuvable au début, mais y'a rien de plus efficace ;)


linkadress
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 156
Inscription: Jeu Mar 30, 2006 18:47

Message le Jeu Juin 08, 2006 16:02

cedsib a écrit:à mon avis, jette un coup d'oeil sur les expressions régulières. c'est un peu imbuvable au début, mais y'a rien de plus efficace ;)

J'ai regardé ereg mais je comprends pas tout bien, si c'était un code comme du bbcode, j'utiliserais ceci :
Code: Tout sélectionner
$buffer=preg_replace('/\[url=(http:\/\/|)(.+)\](.+)\[\/url\]/', '<a href="http://\\2">\\3</a>', $buffer);

Mais sans délimiteur...j'avais pensé à tester le caractère espace, mais pas la syntaxe.

magic corp.
WRInaute impliqué
WRInaute impliqué
 
Messages: 425
Inscription: Jeu Juin 17, 2004 9:56

Message le Jeu Juin 08, 2006 18:25

Et quelque chose comme ça ?
Code: Tout sélectionner
$str = ereg_replace('^(http://|https://){0,1}[A-Za-z0-9][A-Za-z0-9\-\.]+[A-Za-z0-9]\.[A-Za-z]{2,}[\43-\176]*$', '[filtre]', $str);

Remplace un lien par "[filtre]" après ... ça doit pouvoir s'adapter pour ton cas.


linkadress
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 156
Inscription: Jeu Mar 30, 2006 18:47

Message le Ven Juin 09, 2006 0:14

magic corp. a écrit:Et quelque chose comme ça ?
Code: Tout sélectionner
$str = ereg_replace('^(http://|https://){0,1}[A-Za-z0-9][A-Za-z0-9\-\.]+[A-Za-z0-9]\.[A-Za-z]{2,}[\43-\176]*$', '[filtre]', $str);

Remplace un lien par "[filtre]" après ... ça doit pouvoir s'adapter pour ton cas.

En utilisant cette expression dans mes recherches je suis tombé sur un site qui donnait l'expression et ça fonctionne, merci.
Code: Tout sélectionner
$buffer[$i] = ereg_replace("(http://)(([[:punct:]]|[[:alnum:]])*)","<a href="\\0">\\2</a>",$buffer[$i]);   


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Tester le type de redirection
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
  • Calcul du taux de backlinks vers pages internes
    Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés.
  • Transformer des citations en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité