0

我检查了上面的所有答案,看看我的答案是否得到了回答,请不要将其标记为重复

在我正在构建的应用程序中有一个 div

<div class="paragraphlink"> </div>

我允许用户输入任何这样的文本

莱科宁是进入福布斯杂志“名人 100”名单的两位一级方程式车手http://www.formula1.com之一,另一位是费尔南多·阿隆索http://www.google.com。他在《福布斯》杂志http://www.forbesmagazine.com上排名第 36 位

如果您注意到上述段落中存在 url。你能帮我用一个javascript代码从上面的para中提取所有的url吗?

4

3 回答 3

0

使用正则表达式

像这样的正则表达式

     /(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/g

将匹配网址

有关 Javascript 正则表达式的更多信息,请检查thisthis

于 2012-04-26T15:15:19.270 回答
0

您可以在文本上使用 match 函数来提取 url,例如:

var str = "Räikkönen was among the two Formula One drivers http://www.formula1.com who made it into the Forbes magazine's The Celebrity 100 list, the other being Fernando Alonso http://www.google.com. He is 36th on Forbes magazine's http://www.forbesmagazine.com";

var urls = str.match(/http(s)?:\/\/[a-z0-9_-\.\/]+/ig);
// now the var "urls" is in array with your URL

但是这里的正则表达式很简单,你可以在许多网站上找到更好的。

于 2012-04-26T15:15:19.197 回答
0

你可以 RegExp 对象

var reg = new RegExp(/http(s)?:\/\/[a-z0-9_-\.\/]+/ig);

var html = "Räikkönen was among the two Formula One drivers http://www.formula1.com who made it into the Forbes magazine's The Celebrity 100 list, the other being Fernando Alonso http://www.google.com. He is 36th on Forbes magazine's http://www.forbesmagazine.com"

html.match(reg);

将返回您的网址数组。

于 2012-04-26T15:16:27.443 回答