jQuery / JavaScript - замена строки - PullRequest
2 голосов
/ 07 июля 2010

Предполагая, что у нас есть комментарий textarea, где пользователь может ввести этот код:

[quote="comment-1"]

Как я могу заменить этот код перед отправкой формы с фактическим содержанием HTML из <div id="comment-1">?

Ответы [ 3 ]

5 голосов
/ 07 июля 2010

Вы можете попробовать что-то вроде этого:

http://jsfiddle.net/5sYFT/1/

var text = $('textarea').val();

text = text.replace(/\[quote="comment-(\d+)"\]/g, function(str,p1) { return $('#comment-' + p1).text(); });

$('textarea').val(text);

Должно совпадать с любой пронумерованной цитатой в формате, который вы указали.

0 голосов
/ 07 июля 2010

Если я вас правильно понимаю, вы хотите заменить что-то вроде '[quote = "comment-1"] на "".

В JavaScript:

// Where textarea is the reference to the textarea, as returned by document.getElementById
var text = textarea.value;
text = text.replace(/\[quote\="(comment\-1)"\]/g, '<div id="$1">');

В jQuery:

// Where textarea is the reference to the textarea, as returned by $()
var text = textarea.val();
text = text.replace(/\[quote\="(comment\-1)"\]/, '<div id="$1">');

Надеюсь, это поможет!

0 голосов
/ 07 июля 2010

Вы можете использовать регулярные выражения:

text = text.replace(/\[quote="([a-z0-9-]+)"]/gi, 
    function(s, id) { return $('#' + id).text(); }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...