Javascript 如何确定用户输入的哪些部分应该像堆栈溢出一样转换为链接?

Javascript 如何确定用户输入的哪些部分应该像堆栈溢出一样转换为链接?,javascript,string,url,hyperlink,Javascript,String,Url,Hyperlink,Stackoverflow.com以某种方式将某些文本检测为链接并进行转换,例如: https://en.wikipedia.org/wiki/Möbius_strip or<br> https://zh.wikipedia.org/wiki/Wikipedia:关于中文维基百科/en https://en.wikipedia.org/wiki/Saw_(disambiguation) https://stackoverflow.com/questions/43987894/as-

Stackoverflow.com以某种方式将某些文本检测为链接并进行转换,例如:

https://en.wikipedia.org/wiki/Möbius_strip or<br>
https://zh.wikipedia.org/wiki/Wikipedia:关于中文维基百科/en
https://en.wikipedia.org/wiki/Saw_(disambiguation)

https://stackoverflow.com/questions/43987894/as-of-may-15-2017-what-characters-are-arent-allowed-in-a-web-address-as-typed
https://en.wikipedia.org/wiki/Möbius_strip或
https://zh.wikipedia.org/wiki/Wikipedia:关于中文维基百科/EN https://en.wikipedia.org/wiki/Saw_(消除歧义) https://stackoverflow.com/questions/43987894/as-of-may-15-2017-what-characters-are-arent-allowed-in-a-web-address-as-typed
亲爱的读者,您将看到:


有人会如何实现类似的系统(如果本网站使用的特定算法是专有的,则尊重知识产权)

我正在寻找能够处理上述所有情况的产品。如果它超过并正确处理https,则可获得额外积分://❤❤❤.不幸的是,此站点没有提供ws/ws

另请注意:
http://

变成http://所以避免不安全的html很重要。

用户正则表达式将以
https://
开头的字符串匹配到第一个空格,并替换为替换模式

var str=“http://❤❤❤.ws/“;

var link=str.replace(/(http(| s):\/\/[^用户正则表达式将以https://
开头的字符串匹配到第一个空格,并替换为替换模式

var str=“http://❤❤❤.ws/“;

var link=str.replace(/(http(| s):\/\/[^很好的尝试,但这不是他想要的。他想获得有关该URL的一些信息,例如页面标题,并替换de代码
{URL}
一起。你就在路上了!@KikoGarcia我看不到。获取页面标题是一些额外的功能,即使这样也只对一些内部URI起作用。是的,算法必须尊重这一点。他针对他的问题考虑了四个案例,并希望有一个算法来匹配所有问题。内部URL案例是-只键入
http://stackoverflow、 com/questions/43987894/as-of-may-15-2017-what-characters-are-arent-allowed-in-a-web-address-as-typed
如果我正确地阅读了该正则表达式,那么您接受的是任何不是空格的字符,这本质上意味着任何以http://开头的字符都将成为链接,直到用户点击空格。对吗?还有一些其他字符可能会被拒绝:控制字符(字符0-1F和7F),包括新行、制表符和回车符。“\^`{124}这些在url中是禁止的。很好的尝试,但这不是他想要的。他想获得关于该url的一些信息,例如页面标题,并替换de代码
{url}
一起。你就在路上了!@KikoGarcia我看不到。获取页面标题是一些额外的功能,即使这样也只对一些内部URI起作用。是的,算法必须尊重这一点。他针对他的问题考虑了四个案例,并希望有一个算法来匹配所有问题。内部URL案例是-只键入
http://stackoverflow、 com/questions/43987894/as-of-may-15-2017-what-characters-are-arent-allowed-in-a-web-address-as-typed
如果我正确地阅读了该正则表达式,那么您接受的是任何不是空格的字符,这本质上意味着任何以http://开头的字符都将成为链接,直到用户点击空格。对吗?还有一些其他字符其中可能应该被拒绝:控制字符(字符0-1F和7F),包括新行、制表符和回车符这些在url中是禁止的。只需使用任何与看起来像URI的文本部分相匹配的算法。正则表达式引擎可能会帮助您做到这一点。只需使用任何与看起来像URI的文本部分相匹配的算法。正则表达式引擎可能会帮助您做到这一点。