如何拆分字符串,然后将第二个字符串(链接)嵌入第一个字符串?

时间:2015-12-07 15:50:03

标签: javascript jquery ajax

我对JavaScript很新,我现在正在使用这个RSS Feed。

当我从RSS源中检索项目时,会显示以下内容

  

Google主页http://www.google.com

如何拆分此字符串,以便我可以将其第二部分(http://www.google.com)嵌入第一部分(Google主页)?

3 个答案:

答案 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>');
}

Try this code on jsfiddle