これにはかなりの問題があります。基本的に、サーバー (Ajax) から受け取る文字列があります。この文字列には、アンカー リンクがある場合とない場合があります。また、それらの多くを持っている可能性があります。この文字列を取得し、すべてのアンカー リンクを見つけて、href を変更し、結果を画面に出力する必要があります。このために、うまくいくと思った次のコードがあります。これは私がこれまでに得たのと同じくらい近いです:
result.origText = "some random text <a href=\"http://www.abc.com\">random link</a>"
多くの試行錯誤の後、最終的に次のコードを思いつきました。
var origText = $(result.origText);
origText.filter("a").each(function () {
var href = $(this).attr("href");
$(this).attr("href", href + '#ref=' + Num); //Num is currently = 12345
});
finalText = origText[0].outerHTML;
finalText
次に含まれます:
<a href="http://www.dermapoise.com#ref=12345">random link</a>
タグで囲まれていない他のすべてのテキストを失いました。これをアーカイブするにはどうすればよいですか?
更新:次の入力文字列が可能です:
"some random text <a href=\"http://www.abc.com\">random link</a> some more text <a href=\"http://www.abc2.com\">random link2</a> Even more text <a href=\"http://www.abc.com\">random link3 with the same href</a>"