Я хочу взять <div>
и отфильтровать содержимое в определенном формате, похожем на BBCode. Это формат для каждого экземпляра.
<blockquote><dl><dt>Username</dt><dd><a class="viewpostbutton" href="http://POSTURL"><img src="http://IMAGEURL" alt="View Original Post" id="vieworiginalbutton"></a></dd></dl><div>QUOTETEXT</div></blockquote>
<blockquote><dl><dt>Username</dt><dd><a class="viewpostbutton" href="http://POSTURL"><img src="http://IMAGEURL" alt="View Original Post" id="vieworiginalbutton"></a></dd></dl><div>QUOTETEXT</div></blockquote>
<blockquote><dl><dt>Username</dt><dd><a class="viewpostbutton" href="http://POSTURL"><img src="http://IMAGEURL" alt="View Original Post" id="vieworiginalbutton"></a></dd></dl><div>QUOTETEXT</div></blockquote>
Я хочу отфильтровать каждое вхождение нескольких строк для форматирования кода следующим образом:
[цитата = Имя пользователя http://POSTURL]QUOTETEXT[/quote]
Я пытался получить это с помощью regexp в jQuery, вот так:
$("selector").replace(/<blockquote><dl><dt>/g,"[quote=")
$("selector").replace(/<\/dt><dd>/g,",")
И так далее. Однако функции .replace не работают после первой строки замены; Следующие функции .replace не работают независимо от содержимого. Это также не помогает.
$("selector").replace(/</g,"[")
$("selector").replace(/>/g,"]")
Таким образом, код становится [tag>
вместо [tag]
.
Для POSTURL я использую
$("selector").each(function() {
var printpost = $(this).find('a.viewpostbutton').attr('href');
});
Что, кажется, работает достаточно хорошо, пока я не попытаюсь заменить его; У меня та же проблема, просто не работает.
Почему он не работает после первой замены функции? Какой правильный синтаксис или как бы вы выполнили мою задачу? Что мне делать?