PHP Expression régulière : rendre clickable toutes les url d'un texte
Règles du forum
Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !
Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).
Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !
Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).
7 messages
• Page 1 sur 1
Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics
- jackmick777
- Nouveau WRInaute

- Messages: 10
- Inscription: 29 Juin 2009
PHP Expression régulière : rendre clickable toutes les url d'un texte
Bonjour,
je souhaiterais remplacer toutes les url non balisé d'un texte par des url cliquable <a href=""> sauf les url d'images qui sont dans une balise src=""
Le code ci dessous fonctionne très bien sauf qu'il me remplace également les url des images. Comment modifier mon expression régulière de manière à excluse les urls images qui sont dans une balise src="" ?
function replace_url_in_text ($text){
$in = array('`((?:https?|ftp)://\S+[[:alnum:]]/?)`si');
$out = array('<a href="$1">$1</a>');
return preg_replace($in, $out, $text);
}
$texte = 'Ceci est un exemple http://www.domainaremplacer.com et <img src="http://domain.com/exemple/test.jpg" />';
echo replace_url_in_text($texte);
Résultat :
----------
Ceci est un exemple <a href="http://www.domainaremplacer.com">http://www.domainaremplacer.com</a> et <img src="<a href="http://domain.com/exemple/test.jpg">http://domain.com/exemple/test.jpg</a>" />
Quelqu'un pourrait m'aider ?
merci
je souhaiterais remplacer toutes les url non balisé d'un texte par des url cliquable <a href=""> sauf les url d'images qui sont dans une balise src=""
Le code ci dessous fonctionne très bien sauf qu'il me remplace également les url des images. Comment modifier mon expression régulière de manière à excluse les urls images qui sont dans une balise src="" ?
function replace_url_in_text ($text){
$in = array('`((?:https?|ftp)://\S+[[:alnum:]]/?)`si');
$out = array('<a href="$1">$1</a>');
return preg_replace($in, $out, $text);
}
$texte = 'Ceci est un exemple http://www.domainaremplacer.com et <img src="http://domain.com/exemple/test.jpg" />';
echo replace_url_in_text($texte);
Résultat :
----------
Ceci est un exemple <a href="http://www.domainaremplacer.com">http://www.domainaremplacer.com</a> et <img src="<a href="http://domain.com/exemple/test.jpg">http://domain.com/exemple/test.jpg</a>" />
Quelqu'un pourrait m'aider ?
merci
-

seebz - WRInaute impliqué

- Messages: 808
- Inscription: 15 Avr 2007
Re: PHP Expression régulière : rendre clickable toutes les url d'un texte
- jackmick777
- Nouveau WRInaute

- Messages: 10
- Inscription: 29 Juin 2009
Re: PHP Expression régulière : rendre clickable toutes les url d'un texte
Ah super, merci infiniment.
Ce qu'un homme sème il le récoltera ! Merci pour cette semence.
ps : Serait-il possible de modifier encore un peut la fonction pour qu'elle traite également les url sans les http:// mais avec les www sous la forme www.domain.tdl ?
Ce qu'un homme sème il le récoltera ! Merci pour cette semence.
ps : Serait-il possible de modifier encore un peut la fonction pour qu'elle traite également les url sans les http:// mais avec les www sous la forme www.domain.tdl ?
-

seebz - WRInaute impliqué

- Messages: 808
- Inscription: 15 Avr 2007
Re: PHP Expression régulière : rendre clickable toutes les url d'un texte
A première vue, cette modif devrait faire l'affaire, mais elle va faire n'importe quoi si elle rencontre une url du genre xxx.www.example.com :
edit: en fait, ca va faire n'imp' avec une url qui contiendra "www." qui ne soit pas précédé de "/" (ex : example.com/xxx.www.html).
Perso, je ne l'utiliserai pas
- Code: Tout sélectionner
function autolink($str, $attributes=array()) {
$attrs = '';
foreach ($attributes as $attribute => $value) {
$attrs .= " {$attribute}=\"{$value}\"";
}
$str = ' ' . $str;
$str = preg_replace(
'`([^"=\'>])((http|https|ftp)://[^\s<]+[^\s<\.)])`i',
'$1<a href="$2"'.$attrs.'>$2</a>',
$str
);
$str = preg_replace(
'`([^"=\'>\/])(www\.[^\s<]+[^\s<\.)])`i',
'$1<a href="http://$2"'.$attrs.'>$2</a>',
$str
);
$str = substr($str, 1);
return $str;
}
edit: en fait, ca va faire n'imp' avec une url qui contiendra "www." qui ne soit pas précédé de "/" (ex : example.com/xxx.www.html).
Perso, je ne l'utiliserai pas
- jackmick777
- Nouveau WRInaute

- Messages: 10
- Inscription: 29 Juin 2009
Re: PHP Expression régulière : rendre clickable toutes les url d'un texte
merci
- jackmick777
- Nouveau WRInaute

- Messages: 10
- Inscription: 29 Juin 2009
Re: PHP Expression régulière : rendre clickable toutes les url d'un texte
Ce qui serait intéressant c'est de faire une expression régulière comme webrank info le fait, elle pourrait être exécuter avant autolink() et elle aurait pour objectif d'ajouter "http://" devant toutes les urls du texte qui commence par "www." et qui ne serait pas dans des balises html.
Seriez vous en mesure de le faire ?
Seriez vous en mesure de le faire ?
- jackmick777
- Nouveau WRInaute

- Messages: 10
- Inscription: 29 Juin 2009
Re: PHP Expression régulière : rendre clickable toutes les url d'un texte
seebz a écrit:A première vue, cette modif devrait faire l'affaire, mais elle va faire n'importe quoi si elle rencontre une url du genre xxx.www.example.com :
- Code: Tout sélectionner
function autolink($str, $attributes=array()) {
$attrs = '';
foreach ($attributes as $attribute => $value) {
$attrs .= " {$attribute}=\"{$value}\"";
}
$str = ' ' . $str;
$str = preg_replace(
'`([^"=\'>])((http|https|ftp)://[^\s<]+[^\s<\.)])`i',
'$1<a href="$2"'.$attrs.'>$2</a>',
$str
);
$str = preg_replace(
'`([^"=\'>\/])(www\.[^\s<]+[^\s<\.)])`i',
'$1<a href="http://$2"'.$attrs.'>$2</a>',
$str
);
$str = substr($str, 1);
return $str;
}
edit: en fait, ca va faire n'imp' avec une url qui contiendra "www." qui ne soit pas précédé de "/" (ex : example.com/xxx.www.html).
Perso, je ne l'utiliserai pas
J'ai rajouté une ligne à votre code et ca semble régler le problème :
- Code: Tout sélectionner
$text = ' ' . $text;
$text = preg_replace ('`([ ,;:!\|\.\?\\n])(www\.[^\s<]+[^\s<\.)])`i', '$1http://$2', $text);// replace www.domain.tdl => http://www.domain.tdl
$text = preg_replace('`([^"=\'>])((http|https|ftp)://[^\s<]+[^\s<\.)])`i', '$1<a href="$2"'.$attrs.'>$2</a>', $text);
$str = substr($text, 1);
7 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation REFERENCEMENT 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 :
- Expression régulière & UTF-8 (Javascript & PHP)
- 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 ?
- Sandbox, blacklistage et autres pénalités de Google - 16-03-2005
- Nouvelle étude de WebRankInfo : les mots-clés et le référencement - 04-01-2003
- TouchGraph GoogleBrowser v1.0 - 06-07-2002
- Google Analytics désormais ouvert à tous - 16-08-2006
- Impact du PageRank dans le positionnement Google - 18-04-2005
- Les bonnes stratégies de mots-clés pour le référencement - 04-08-2008
- La calculatrice Google - 12-09-2003
- Google Browser TouchGraph
Description du TouchGraph Google Browser (outil externe) : il s'agit d'un outil graphique permettant de visualiser des sites similaires (selon Google). On peut sauter de site en site, et se rendre compte facilement des communautés de sites, ou des nébuleuses de sites traitant du même sujet.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
