假设我有一段文字:
The Northrop Grumman X-47B https://en.wikipedia.org/wiki/Northrop_Grumman_X-47B
is a demonstration unmanned combat air vehicle (UCAV) designed for carrier-based
operations.
我想替换文本中的超链接并将其变成真正的超链接。同时,我想将超链接的措辞缩短为固定的 20 个字符,以便用户阅读的文本更短,例如
- 诺斯罗普·格鲁曼公司 X-47B https://en.wikipedia.org...是一款专为舰载作战设计的演示无人作战飞行器 (UCAV)。
因此文本中的链接代码可能如下所示:
<a href="https://en.wikipedia.org/wiki/Northrop_Grumman_X-47B">https://en.wikipedia.org...</a>
我环顾四周,发现了一些例子,但它们根本不起作用。我想要一个标准的 JavaScript 函数来完成它。也就是说,一个接收纯文本(不是 HTML)并可以转换文本的函数。不确定如何同时防御 XSS。
我怀疑它会涉及循环遍历文本的每个部分,然后是一些正则表达式来查找 URL,提取它,然后用 substr() 缩短 URL,然后以某种方式将其替换为文本。知道怎么做吗?
谢谢您的帮助。