我想循环div .each(function() - jquery中的每个文本

时间:2010-03-25 08:22:18

标签: jquery

我有来自文本文件的这些网址

"http://xxxxxxxxxxxxxx.xom.sssss/data/feed/base/user/592591?kind\u003doium\u00flt\u065drss\u002s\u0asn_7S\udess\aawac", "url": 

"http://xxxxxxxxxxxxxx.xom.sssss/data/feed/base/user/592591?kind\u003doium\u00flt\u065drss\u002s\u0asn_7S\udess\aawac", "url":  }, 

"http://xxxxxxxxxxxxxx.xom.sssss/data/feed/base/user/592591?kind\u003doium\u00flt\u065drss\u002s\u0asn_7S\udess\aawac", "url": 

我想在#from中进行循环并将其附加到#here

$('#from').match(/http:\/\/\S+/).each(function(){;
    var t = $(this).text();
    $(t).appendTo('#here');
});

似乎有错误。

HTML CODE

<div id="from">

<? 
$fl = "file.txt"; 
$file1 = fopen($fl, "r");
$content = file_get_contents($fl); 
echo $content;       
?>

</div>

<div id="here"></div>

我可以很容易地使用PHP,但是我想让它在jQuery中使用它,因为它让我可以自由地提取任何http://,无论是在文本文件中的任何位置,还是它可能有多复杂。

由于 让

3 个答案:

答案 0 :(得分:0)

如果您只想从文本看起来像链接,那么请执行以下操作:

var text = $("#form").text();
var r = /\b(http://.*?)(?=\s|\z)/;
var here = $("#where");
while (m = r.exec(text)) {
  $("<span>").text(m[1]).appendTo("#here");
}

你的问题对于你正在处理的事情以及你想要的最终结果是非常模糊的,所以我做了很多假设:

  • 这不会捕获图像或锚点中的网址。
  • 我不知道你想要包装网址的目的地是什么或者如何(或者甚至)。在我的示例中,我只是将每个放在<span>;
  • 在解释URL是什么时,我一直很自由。我假设任何以单词边界开头的“http://”是一个到文本末尾的URL或一个空格字符,以先到者为准。如果你愿意,你可以更加严格。

答案 1 :(得分:0)

你说:

  

我正在尝试从#from获取所有http链接并将其附加到#here。

如果我正确地取消你,你需要这样的东西:

$('#from a').appendTo('#here');

这将从<a>获取所有链接(#from - 元素)并将其移至#here。这是你想要的吗?

如果您不想移动链接,只复制它们,可以使用.clone()

$('#from a').clone().appendTo('#here');

答案 2 :(得分:0)

$("#from a[href^='http']").appendTo('#here')