PRATIQUE CLIENTS WEB 
Extraire l'URL d'un lien pour les versions imprimables
 
Petit exercice faisant appel à l'objet RegExp() de JavaScript, et aux références arrières. (20/04/2004)
  Forum

Réagissez dans les forums de JDN Développeurs

Voici une petite expression rationelle qui peut se révéler utile dans (par exemple) la version imprimable d'une page, et qui nous permet d'utiliser les back references (référence arrières) à bon escient.

Le script proposé transforme "JDN Développeurs" en "JDN Développeurs (http://www.journaldunet.com/developpeur)" (notez le soulignement), et plus généralement, il applique à un lien une transformation permettant d'extraire l'URL, de la mettre entre parenthèses et de la souligner. L'expression utilisée ne correspond certainement pas à toutes les situations, mais elle suffit pour cet exercice.

Notez donc l'utilisation des références arrières : en plaçant des parenthèses autour des expression à reconnaître (l'URL et la description de celle-ci), nous permettons à l'objet RegExp() de se "souvenir" de celle-ci au sein des variables $1 et $2. Libre à nous ensuite des les arranger dans l'ordre que nous voulons - en l'occurrence, nous plaçons ici $2 avant $1.


Le code
<script>
var chaine = 'A lire sur <a href="http://www.journaldunet.com/developpeur">JDN Développeurs</a>';

expr = /<a href="(http[\S\.\/:]*)">([\S\.\/: ]*)<\/a>/;
newchaine = chaine.replace(expr, "$2 (<u>$1</u>)")

document.write("Chaîne originale : " + chaine);
document.write("<br>");
document.write("Chaîne modifiée : " + newchaine);
</script>
 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page