0
votes

Comment convertir un lien dans le bloc de copie en liens HTML

J'ai un bloc de code HTML qui compte environ 156 liens de site Web. Comment puis-je continuer à convertir le lien vers un lien HTML?

p>

<a href="https://siteA.com/xyA" target="_blank">https://siteA.com/xyA</a>
<a href="https://siteB.com/xyB" target="_blank">https://siteB.com/xyB</a>
<a href="https://siteC.com/xyC" target="_blank">https://siteC.com/xyC</a>
<a href="https://siteD.com/xyD" target="_blank">https://siteD.com/xyD</a>


3 commentaires

Quelle langue utilisez-vous pour faire cela?


@Evert, il fait cela dans le code Visual Studio et Notepad ++, comme mentionné ci-dessus!


Une autre chose que j'ai reliée lors de la gestion de la regex à travers les scripts, c'est que une partie de l'URL a plusieurs périodes dans elles. Comme Sited.com/xyd.abc.efg . ou Sited.com/xyd.abc.efg.yyy-y.pqr Les peiords de l'URL peuvent être entre 1 et 4. Couple des scripts ne saisissaient pas l'URL complète.


3 Réponses :


0
votes

Si vous appuyez sur Ctrl + H dans VSCode qui ouvrira le panneau Rechercher et remplacer, entrez (. *) \. dans l'entrée de recherche, activez la touche REGEX et entrez 1 $ dans l'entrée Remplacer. Devrait être capable de les remplacer tous à la fois.

 Entrez la description de l'image ici

Le (. *) \. Regex prend quelque chose sur la ligne qui se termine par une période et met l'URL (sans période) dans un groupe de capture. Dans le remplacement, nous utilisons 1 $ pour insérer le groupe de capture dans le texte de remplacement.


6 commentaires

Cela échouera à cause du point du nom de domaine!


@csabinho J'ai littéralement le rancouvert sur ma propre machine, si chaque URL est sur sa propre ligne (comme dans l'exemple), elle ne manquera absolument pas.


J'ai réalisé que cela passe, car . * est gourmand!


@csabinho Ouais, mais la performance d'une simple chaîne Remplacer dans l'éditeur n'est pas très importante, il est donc plus important que cela soit plus important imo. Quelque chose qui allait être dans le prod ne devrait pas être aussi gourmand si nécessaire, bien que


Bien sûr. Cela n'a aucun sens de confondre les gens avec des regex es!


Ça fait quelque chose de différent. Permettez-moi de jouer un peu plus.




-1
votes

Je suis nouveau au développement et c'est ma première réponse. Je ne comprends pas ce que vous entendez par «https: //» et «». » comme identifiants? Donc, ce que j'ai fait est essentiellement supposé que vous aviez un bloc de code quelque part sur votre page. HTML:

//get data from the HTML <code> block
//filter out whitespace
var data = [];
data = document
    .getElementById("codeBlock")
    .innerHTML.split(/\s+/)
    .filter(e => e.length > 1);

for (var i = 0; i < data.length; i++) {
    //create <a> tag and set attributes
    var para = document.createElement("a");
    para.setAttribute("href", data[i]);
    para.setAttribute("target", "_blank");
    var node = document.createTextNode(data[i]);
    para.appendChild(node);
    //append it to HTML front end
    document.getElementById("linkOutput").appendChild(para);
}

/*
got some inspiration here:
https://blog.abelotech.com/posts/split-string-into-tokens-javascript/
https://www.w3schools.com/js/js_htmldom_nodes.asp
*/


1 commentaires

L'affiche originale recherche une solution avec regex, car cela peut être utilisé à l'intérieur des recherches.