Extraire le nom du lien d'une url - PHP - Programmation
Marsh Posté le 04-04-2004 à 11:30:21
On ne peut pas faire une expression régulière qui recherche ?à partir de la fin? ? À ce moment, tu n'aurais plus qu'à gérer ?...> </a>?. Je me souviens d'un truc de ce genre en shell.
Marsh Posté le 04-04-2004 à 15:21:26
Je sais pas si j'ai bien compris.
Sur :
<a href="http://www.toto.com" target="_blank">toto</a>
Ce qui est souligné est optionnel, c'est ça ?
Si oui utilise une parenthèse non capturante, suivi de ? :
(?: target=\"_blank\" )?
Marsh Posté le 06-04-2004 à 01:12:20
En fait on peut dire optionnel, mais c'est juste qu'avec la fonction que j'ai faite, s'il n'y a pas target="_blank", il ne m'extrait pas le nom du lien.
J'ai pas très bien compris ton histoire de parenthese non capturante....
Marsh Posté le 06-04-2004 à 01:34:38
Pour juste faire ça, on peut faire plus simple.
Code :
|
Marsh Posté le 06-04-2004 à 01:56:19
j0k3r_n0ir a écrit : |
c'est la le problème .... enfin si tu veux pondre une regex il faut que tu apprennes la syntaxe regex ... c'est un langage dans le langage ..... il va inévitablement falloir faire des efforts
http://www.phpfrance.com/tutorials/index.php?id=22
http://cyberzoide.developpez.com/php4/regex/
Marsh Posté le 06-04-2004 à 01:59:10
simogeo a écrit : il va inévitablement falloir faire des efforts |
Non, parce que ce que j'ai codé marche très bien.
Marsh Posté le 06-04-2004 à 02:02:14
kalex a écrit : Non, parce que ce que j'ai codé marche très bien. |
me suis arrêté au post de j0k3r_n0ir
ce ue tu as fait marche peut-être très bien, ca ne l'empeche pas forcement de comprendre ce qui'l se passe
Marsh Posté le 06-04-2004 à 02:13:21
D'ailleurs, je ne connaissais pas :
http://cyberzoide.developpez.com/php4/regex/
J'ajouterais :
http://www.unixtech.be/docs/php-fr/ref.pcre.html
http://www.oreilly.fr/catalogue/regex2.html (super livre !)
Marsh Posté le 06-04-2004 à 02:25:48
uhu
Merci je savais pas que le regex était une sorte de language !
Je vais plancher un peu dessus.
Et voir surtout si ce que m'a donné kalex fonctionne
Marsh Posté le 08-04-2004 à 14:11:33
Bon je viens de tester ces deux solutions :
Code :
|
Et elle marche nikel toutes les deux.
En passant, quelle fonction est la plus rapide niveau execution....
T'en qu'a faire optimiser la chose
Marsh Posté le 08-04-2004 à 14:38:24
a mon avis et de loin .. strip_tags()
Marsh Posté le 08-04-2004 à 14:43:08
Merci !
Je pensais aussi mais rien ne vaut l'avis des autres !
Merci pour tous les gars !!!
Marsh Posté le 03-04-2004 à 22:37:46
function replink($Texte) {
$Texte = strip_tags($Texte);
$Texte = nl2br($Texte);
$Texte = eregi_replace("(http|https|ftp)://([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)","<a href=\"\\1://\\2\" target=\"_blank\">\\1://\\2</a>",$Texte);
$Texte = eregi_replace("(([a-z0-9_]|\\-|\\.)+@([^[:spa
ce:]]*)([[:alnum:]-])\.([^[:space:]]*)([[:alnum:]
-]))", "<a href=\"mailto:\\1\">\\1</a>", $Texte);
$Texte = eregi_replace("([a-z0-9]{40})", "\\1 " ,$Texte) ;
return $Texte ;
}
tout en un celle là !
Bonjour !
J'utilise donc cette fonction, au passage, merci Sh@rdar
Mais je voudrai en faire une qui fasse tout l'inverse.
C'est a dire qu'elle convertisse <a href= "http://www.toto.com">www.toto.com</a> en www.toto.com
J'ai fait donc ce bou de script :
Il marche tres bien ......... mais il ne récupere seulement le code du genre : <a href="http://www.toto.com" target="_blank">toto</a>
Dans ce cas cela retournera : http://www.toto.com
Si quelqu'un pouvais me dire comment faire pour que la fonction ne tienne pas compte des différents parametres passer a la balise <a>.
Parce que la, le code fonctionne que si le parametre target="_blank" est présent ...
Merci...!
---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.