http://anything-6ren"> http://anything-关于这个问题,我看到了很多变体,但他们通常试图要么验证 url 的“任何”部分,要么为 anchor 文本和链接提供不同的文本。 对于用户的简单博客功能,我需要返回相同文本的应用程序助手,除了找到以 -6ren">
gpt4 book ai didi

ruby:使用正则表达式将 http://anything 替换为 http://anything

转载 作者:数据小太阳 更新时间:2023-10-29 07:43:31 24 4
gpt4 key购买 nike

关于这个问题,我看到了很多变体,但他们通常试图要么验证 url 的“任何”部分,要么为 anchor 文本和链接提供不同的文本。

对于用户的简单博客功能,我需要返回相同文本的应用程序助手,除了找到以 http:// 开头的任何字符串。 (并以任何空格或字符串结尾结束)并将其替换为 <a href="same_string_here">same_string_here</a>

任何有关如何使用正则表达式执行此操作的提示将不胜感激...我想出了点点滴滴(捕获一个以 http 开头的词)但无法使整个事情正常工作(无法弄清楚如何表达它在 href 周围用引号插入模板中,在测试中处理 ://,或者将字符串放在 </a> 之前的第二个位置。

最佳答案

您可以尝试以下方法:

str = "XYZhttp://abc XYZ"
str.gsub!(/(http:\/\/\S+)/, '<a href="\1">\1</a>')
puts str

这会给你

XYZ<a href="http://abc">http://abc</a> XYZ

注意:\S+ 捕获任何非空白字符,即您必须在 http:// 之后至少有一个这样的字符。它也不会删除 http://abc 之后的空格。如果需要,您可以将 \s* 附加到括号外的正则表达式。

关于ruby:使用正则表达式将 http://anything 替换为 <a href ="http://anything">http://anything</a>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6654869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com