我对JavaScript很新,我现在正在使用这个RSS Feed。
当我从RSS源中检索项目时,会显示以下内容
Google主页http://www.google.com
如何拆分此字符串,以便我可以将其第二部分(http://www.google.com)嵌入第一部分(Google主页)?
答案 0 :(得分:1)
首先 - 使用以下RegEx模式排除链接(搜索以http://
开头的字符串)。
/http:\/\/.*[^\W+]/g
匹配值(Array)存储在url
中,现在我们可以创建锚元素了。 (href
的值是我们匹配数组中的元素0)。
通过将retrievedResult
内的空格替换为URL来生成链接内容。 trim()
是可选的,我只是用来删除剩余的空间。
retrievedResult.replace(url[0], "").trim()
最后,您可以附加构建的锚元素。
var retrievedResult = "Google Home Page http://www.google.com";
var re = /http:\/\/.*[^\W+]/g;
var url = retrievedResult.match(re);
var anchor = '<a href="' + url[0] + '" target="_blank">' + retrievedResult.replace(url[0], "").trim() + '</a>';
$('body').append(anchor);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 1 :(得分:0)
好的,这就是字符串:
var string = "Google Home Page http://www.google.com";
然后我们拆分它:
var split = string.split('http'); // ['Google Home Page ', '://www.google.com']
然后我们创建一个a
元素:
var a = document.createElement('a');
然后我们将链接添加为锚元素的href
属性:
a.href = 'http' + split[1];
然后我们将文本添加为锚元素的textContent
:
a.textContent = split[0];
最后我们将元素添加到正文中:
document.body.appendChild(a);
这是一个例子:
var string = "Google Home Page http://www.google.com";
var split = string.split('http');
var a = document.createElement('a');
a.href = 'http' + split[1];
a.textContent = split[0];
document.body.appendChild(a);
答案 2 :(得分:0)
您可以使用jquery来获得结果
工作示例:
//This is HTML part
<div id="linkcontainer"></div>
<input id="str" value='Google Home Page http://www.google.com'>
<a id="createlink">CreateLink</a>
//This is js part
$('#createlink').click(function(){
createLink();
});
//function that makes link
function createLink(){
var str = $('#str').val();
var http = str.indexOf('http');
var url = str.substring(http);
var text = str.substring(0,http);
$('#linkcontainer').html('<a href="'+url+'">'+text+'</a>');
}