8768 sujets

Développement web côté serveur, CMS

Bonsoir,

Je dispose de pages comportant des centaines de numéros de téléphone au format "xx.xx.xx.xx.xx". Je souhaiterais les rendre clicable avec la balise href tel. Existe-il une Regex permettant de supprimer les points et intégrer les chiffres dans la balise ?
Modifié par deep (16 Apr 2020 - 22:35)
Hello,

Voici de quoi t'inspirer !
Ta liste est sous quelle forme ? on peut l'intégrer dans le JS ? ou c'est déjà dans un HTML ?

Un DIV conteneur:

<div id="call"></div>


Et un bout de JS pour intégrer un bouton avec le N° sans les points:

document.addEventListener('DOMContentLoaded', function () {

	// je suppose qu'il s'agit de N° français
	const telAvecPoint = "01.02.03.04.05";
	// on retire les points et on ajoute +33 à la place du 0
	const telSansPoint = "+33" + telAvecPoint.replace(/\./g,"").substring(1,telAvecPoint.length);
	// ensuite on ajoute le bouton dans la DIV
	document.getElementById('call').innerHTML = '<button onclick="document.location.href=\'tel:' + telSansPoint + '\';">APPELER</button>';

});
Salut !
Ces liens sont générés dynamiquement ou c'est du contenu HTML que tu as déjà comme ça ?
Ces numéros de téléphones sont statiques. On ne peut les intégrer dans .js car ils sont dans une table bootstrap. stryk, merci beaucoup de ta réponse, mais dans l'idéal j'utiliserais regex sinon les gens qui ont désactivé javascript ne pourront pas cliquer.

Etant donné qu'il est facile pour moi de faire un rechercher/remplacer pour mettre les numéros xx.xx.xx.xx.xx en +33.xx.xx.xx.xx.xx, j'ai pu trouvé une regex qui match tous les numéros

^(? [decu]?:\+|00)33|0)\.[1-9](?:[\.]\d{2}){4}$


Cependant je ne comprends toujours pas comment les tranformer en

<a href="tel:+33xxxxxxxxx">+33.xx.xx.xx.xx.xx</a>

Modifié par deep (17 Apr 2020 - 08:26)
J'utilise Far & Replace sur OSX, c'est un outil qui intègre Regex et qui permet de faire du Batch processing sur des centaines de pages statiques. L'idée est de changer Html pour avoir une source propre, sans utiliser JS ni une interaction avec le serveur.