L'exemple de cet article décrit la méthode de remplacement de l'adresse de l'image (img src) dans la chaîne par une expression régulière JavaScript. Partagez-le avec tout le monde pour référence, les détails sont les suivants :
J'ai rencontré un problème lors du développement aujourd'hui : Comment remplacer la valeur src de toutes les balises img contenues dans une chaîne HTML ?
La solution à laquelle j'ai d'abord pensé est :
content.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi, function (match) { console.log(match); });
Le résultat de sortie est :
<img src="//m.sbmmt.com/images/logo.gif" alt="" width="142" height="55" />
Ce que j'obtiens, c'est l'intégralité de l'img balise, mais ce qui est attendu, c'est l'URL dans src, il suffit donc de renvoyer la nouvelle adresse dans function(match).
Donc, je suis coincé ici. . .
Plus tard, j'ai recherché le mot-clé "javascript replace callback" sur Google et j'ai trouvé "remplacer la fonction de rappel par des correspondances" dans stackoverflow, puis j'ai appris que la fonction (match) avait d'autres paramètres (voir développeur.mozilla. org pour plus de détails) ).
Ensuite, modifiez le code suivant et le problème sera résolu.
content.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi, function (match, capture) { console.log(capture); });
Résultats de sortie
//m.sbmmt.com/images/logo.gif
Terminé !
J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.
Pour plus d'articles sur la façon de remplacer les adresses d'image (img src) dans les chaînes par des expressions régulières JavaScript, veuillez faire attention au site Web PHP chinois !