在字符串中查找文本并预先添加到其他位置

时间:2011-07-21 09:13:15

标签: jquery regex text prepend

我正在尝试查找一些文本RegEx /\w*http:[/][/]bit.ly[/]\w*/ig,它会找到此字符串并将其拉出来,将其移至<span>标记或<p>标记的末尾?

<p class="regex">Text before http://bit.ly/wtGAhsu sometext here, doesn't matter how long this is.... <span></span></p>

$("p:regex('(\w*http:[/][/]bit.ly[/]\w*)')").addClass('active');

上面是我到目前为止(仅选择p),我已经尝试了.highlight()但我现在不确定抓住文本并移动它,非常感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

HTML:

<div id="moveToArea"></div>

使用Javascript:

$("p:regex('(\w*http:[/][/]bit.ly[/]\w*)')").addClass('active');
var item = $(".active")
$("$moveToArea").append(item, function(){
item.fadeOut();
});

答案 1 :(得分:1)

您可以使用以下内容:

$("p.regex").each ( function () {
    var jThis   = $(this);
    var newSrc  = jThis.text ().replace (/^(.*)(https?\:\/\/bit\.ly\/\w+)(.*)$/i, '$1$3<span>$2</span>');
    jThis.html (newSrc);
} );

请注意,此版本假定每个段落有一个链接max。

See it in action at jsFiddle.