如何将页面中的所有文字链接转换为实际链接?
例如,我想更改所有文本链接:
<p>http://www.google.com</p>
或在这样的表格中:
<td>http://www.google.com</td>
进入这个:
<a href="http://www.google.com">http://www.google.com</a>
和此:
<td><a href="http://www.google.com">http://www.google.com</a></td>
答案 0 :(得分:1)
答案 1 :(得分:1)
这就是你需要的:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
function createLinks(){
$('p, td').filter(function() {
return this.innerHTML.match(/(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/);
}).each(function(){
var link = $('<a>', { href: this.innerHTML,
text: this.innerHTML });
if(this.tagName == "P")
this.parentNode.replaceChild(link[0], this);
else{
this.removeChild(this.childNodes[0])
this.appendChild(link[0]);
}
});
}
$(document).ready(function(){
$('#create_links').click(function(){
createLinks();
});
});
</script>
<style>
a{
display:block;
}
</style>
</head>
<body>
<p>This shouldn't became a link</p>
<p>http://www.thisshouldbecamealink.com</p>
<p>http://www.anotherlink.com</p>
<table>
<tr>
<td>Not a link</td>
</tr>
<tr>
<td>http://www.validlink.com</td>
</tr>
</table>
<button id="create_links">Create links</button>
</body>
</html>