正则表达式 jquery 将数字替换为链接
regex jquery to replace number with link
我有一个数据库结果页面,用户偶尔会输入对另一篇文章的引用。 (数据库是调度办公室的日间事件跟踪器)。
对其他帖子的引用始终是帖子 ID(001234 格式)。我们使用这些来将事件与卡车司机的案卷和其他文书工作相匹配。它本身始终是一个 6 位数字。
<div class="eventsWrapper">
Data from DB is output here using PHP in a foreach loop.
Presents data in similar fashion to facebook for example.
</div>
我需要做的是一旦加载了上述 DIV 中的数据,然后遍历并将每个完整的 6 位数字(不是数字的一部分)替换为数字作为超链接。
重要的是,它只查找两侧都有空格的数字:
EG: Ref 001122 <- like this - not like this -> ignore AB001122
一旦我有了超链接标签,我就可以使参考编号可点击,将用户直接带到该帖子。
我对正则表达式不是那么好,但认为它是这样的:
'b(![0-9])?'d{6}'b
我不知道如何搜索 DIV,然后用超链接替换该正则表达式。感谢任何帮助。
(?:^| )'d{6}(?= |$)
您可以使用它并替换为 <space><whateveryouwant>
.请参阅演示。
https://regex101.com/r/bW3aR1/7
'b
行不通,因为A1
不是您想要的word boundary
。
像这样的东西? 制作单个帖子的数组并循环访问。 如果帖子中只有一个 ID,则可以不使用第二个循环。
var str = ['Ref 001122 <- like this - not like this -> ignore AB001122', 'Ref 001123 <- like this - not like this -> ignore AB001122', 'Ref 001124 <- like this - not like this -> ignore AB001122'];
var regex = /'b'd{6}'b/g;
for (var j = 0; j < str.length; j++) {
var urls = str[j].match(regex);
for (var i = 0; i < urls.length; i++) {
var url = urls[i];
newString = str[j].replace('' + urls[i] + '', '<a href = ' + url + '>' + urls[i] + '</a>')
}
$('#output').append(newString);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="output"></div>
相关文章:
- 用超链接替换URLS
- D3 Javascript HREF链接替换
- 用链接替换嵌入的HTML5视频
- 如何在实时网页中用mailto链接替换电子邮件地址
- Chrome扩展程序将所有链接替换为略微修改的版本
- 在JavaScript / jQuery中用活动超链接替换粘贴的链接
- 用电子邮件链接替换所有特定文本
- jquery或js:将站点范围内的链接替换为另一个AND,并更改为https
- 使用 Selenium 单击由 Content(内容)隐藏的链接替换为 Selenium XPath
- 如何将指向UI路由器版本化文件的链接替换为Usemin
- 将弹出页面上的页面链接替换为要在主(父)窗口中打开的Javascript
- 将HTML链接替换为Javascript链接
- 将图像链接替换为jQuery
- JS:用链接替换链接.还有一个链接
- 图片链接替换为其他链接JS
- 试图使用javascript将文本区域中的链接替换为超链接会导致数组错误
- 将
链接替换为 图像
- 用HTML中的链接替换url
- 如何使用javascript用链接替换文本
- Jquery,将一个超链接替换为另一个超链接