【发布时间】:2011-04-06 18:33:25
【问题描述】:
有没有更好的方法用<a href>替换/包装某些html元素中的h*tp://name.tld/request_url?parameter或h*tps://name.tld/request_url?parameter文本。
这是我的代码:
jQuery('#posts .post').each(function() {
elem = jQuery(this);
elem.html(
elem.text()
.replace(/(http?:\/\/?\S+)/g, "<a href='$1'>$1</a>")
);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="posts">
<div class="post">
Tweet text 1 http://google.com and other text.
</div>
<div class="post">
Tweet text 2 https://www.google.com and other text.
</div>
<div class="post">
Tweet text 3
</div>
<div class="post">
...
</div>
</div>
任何jQuery.wrap() 替代方案也不错。
【问题讨论】:
标签: javascript jquery regex replace