j'ai le code suivant:Javascript remplacer des problèmes (avec atribbutes alt et title)
function getArticleContent() {
var toPromote = 'example';
var toReplace = '<a href="/tags/'+toPromote+'">'+toPromote+'</a>';
var content = $(".a-entry").text();
if (content.search(toPromote) > -1)
{
$('.a-entry').html($('.a-entry').html().replace(new RegExp(toPromote, "g"), toReplace));
}
else
{
//
}
}
$(document).ready(function() {
getArticleContent();
});
Le code fonctionne très bien, mais si une image ou un lien a un titre ou attribut alt égal avec le texte que je vouloir remplacer le code HTML, il est cassé, parce que le script met le lien dans l'alt, ou la balise de titre.
Meilleures salutations
Je suis en train de faire quelque chose comme ceci:
<div id="article">
<p>Some text here, bla bla.</p>
</div>
Une fois la fonction JS je veux être:
<div>
<p>Some text <a href="/tags/here">here</a>, bla bla.</p>
</div>
Il y a une raison pour laquelle ils disent [vous ne devriez pas mélanger regex avec html] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454 # 1732454). ** Ils ne se mélangent pas bien. ** Utilisez le dom parser. – Amarghosh