剥离JS文本并将结果保存到变量中

Strip JS text and save results to variable

本文关键字:保存 变量 结果 JS 文本 剥离      更新时间:2023-09-26

我有以下JS函数来提取所有以" # "开头的单词并替换它们的css样式。我想添加一个url,重定向到包含标签的所有项目的查询。

如何保存剥离的标签,然后动态地将其添加到每个标签的url中?

$('.find-hashtag').each(function(index) {
    var str = $(this).html();
    var edt = str.replace(/(^|'s)(#[A-Za-z]+)/ig, "$1<a href='{% url "hashtagged_item_list” *stored_value_goes_here* %}'>$2</a>");
    $(this).html(edt);
});

提前感谢您的帮助!

我希望完成什么:

<p class="find-hashtag">This is sample #html text.</p>
$('.find-hashtag').each(function(index) {
    var str = $(this).html();
    var tag = "html";
    var edt = str.replace(/(^|'s)(#[A-Za-z]+)/ig, "$1<a href='{% url "hashtagged_item_list” tag %}'>$2</a>");
    $(this).html(edt);
});

首先,用一个dummy标签存储django生成的url。因为django是服务器端,js是客户端,所以它们不能合并:

var url = '{% url "hashtagged_item_list" "dummy" %}';

然后,提取标签并用它替换'dummy':

var edt = str.replace(/'b#([A-Za-z]+)/ig, function(match, tag) {
             return '<a href="' + url.replace('dummy', tag) + '">#' + tag + '</a>');
          });