Найти текст в строке и перенести в другое место - PullRequest
3 голосов
/ 21 июля 2011

Я пытаюсь найти какой-нибудь текст 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 ]

1 голос
/ 21 июля 2011

Вы можете использовать что-то вроде этого:

$("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);
} );

Обратите внимание, что эта версия предполагает одну ссылку, максимум, на каждый абзац.

Смотрите это в действии на jsFiddle.

1 голос
/ 21 июля 2011

Попробуйте следующее:

HTML:

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

Javascript:

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